home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / nt / sp3_39.exe / NTAS / OEMNXPSM.IN_ / OEMNXPSM.IN
INI File  |  1994-10-04  |  73KB  |  1,868 lines

  1. [Identification]
  2.    OptionType = NetTransport
  3. [Options]
  4.    SFM
  5. [FileConstants]
  6. ProductFullInfName      = "oemnxpsm.inf"
  7. Manufacturer            = "Microsoft"
  8. ProductMajorVersion     = 3
  9. ProductMinorVersion     = 1
  10. ProductVersion          = $(ProductMajorVersion)"."$(ProductMinorVersion)
  11. ProductSFMName           = "SFM"
  12. ProductATALKName           = "AppleTalk"
  13. ProductATALKImagePath   = "%SystemRoot%\system32\drivers\sfmatalk.sys"
  14. ProductATALKSvcType     = "kernel"
  15. ProductATALKType        = "transport"
  16. ProductATALKEventDll    = "%SystemRoot%\system32\sfmatmsg.dll"
  17. NetRuleATALKType        = "appletalk appletalktransport"
  18. NetRuleATALKUse         = transport " yes yes"
  19. NetRuleATALKBindForm    = """appletalk"" yes yes container"
  20. NetRuleATALKClass       = {"appletalktransport basic "}
  21. NetRuleATALKBindList    = {"appletalktransport ndisDriver non non 100", +
  22.                            "appletalktransport ltkndisDriver non exclusive 100" }
  23. ProductAFPSVCName               = "MacFile"
  24. ProductAFPSVCImagePath          = "%SystemRoot%\system32\sfmsvc.exe"
  25. ProductAFPSVCType               = "service"
  26. ProductAFPSVCEventDll           = "%SystemRoot%\system32\sfmmsg.dll"
  27. NetRuleAFPSVCType               = "MacFile lmNetService"
  28. NetRuleAFPSVCUse                = "service"
  29. ProductAFPSRVRName              = "MacSrv"
  30. ProductAFPSRVRImagePath         = "%SystemRoot%\system32\drivers\sfmsrv.sys"
  31. ProductAFPSRVREventDll          = "%SystemRoot%\system32\sfmmsg.dll"
  32. ProductMACPRINTName             = "MacPrint"
  33. ProductMACPRINTImagePath        = "%SystemRoot%\system32\sfmprint.exe"
  34. ProductMACPRINTEventDll         = "%SystemRoot%\system32\sfmprint.exe"
  35. ProductMonitorDll               = "sfmmon.dll"
  36. ProductMonitorEventDll          = "%SystemRoot%\system32\sfmmon.dll"
  37. UtilDll                  = "sfmutil.dll"
  38. ResDll                   = "sfmres.dll"
  39. IconsInfFile             = "sfmicons.inf"
  40. !UamResSrcFile           = "sfmuam.rsc"
  41. !UamInfoSrcFile          = "sfmuam.ifo"
  42. !UamResDestFile          = "MS UAM:Afp_Resource"
  43. !UamInfoDestFile         = "MS UAM:Afp_AfpInfo"
  44. !UamReadMeSrcFile        = "sfmuam.txt"
  45. NtNetIniFileName         = "ntnet.ini"
  46. WinFileIniFileName       = "winfile.ini"
  47. AfpMgrCplFile            = "sfmmgr.cpl"
  48. SrvMgrIniSection         = "SMAddons"
  49. WinFileIniSection        = "Addons"
  50. TypeCreatorMapFile       = "sfmmap.inf"
  51. AtWinSockDll             = "sfmwshat.dll"
  52. PSprintProcFile          = "sfmpsprt.dll"
  53. PSprintProc              = "SFMPSPRT"
  54. !ProductKeyBase         = $(!NTN_SoftwareBase)"\"$(Manufacturer)
  55. !ProductKeyName         = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSFMName)"\CurrentVersion"
  56. !ProductKeyLinkage      = $(!NTN_ServiceBase)"\"$(ProductATALKName)"\Linkage"
  57. !PrintMonKeyName        = "SYSTEM\CurrentControlSet\Control\Print\Monitors"
  58. !EventLogKey            = $(!NTN_ServiceBase)"\EventLog\Application"
  59. !AtalkMonEventLogName            = "AppleTalk Print Monitor"
  60. [GeneralConstants]
  61. UtilInf                     = "UTILITY.INF"
  62. SubInf                      = "SUBROUTN.INF"
  63. !KeyNull                    = ""
  64. !ACCESS                     = 33554432
  65. RegistryErrorIndex            = NO_ERROR
  66. KeyProduct                  = ""
  67. KeyParameters                = ""
  68. TRUE                        = 1
  69. FALSE                       = 0
  70. NoTitle                     = 0
  71. !UamCopyStatus              = TRUE
  72. !DebugOutputControl         = 0
  73. [date]
  74. Now     = {} ? $(!LIBHANDLE) GetSystemDate
  75. [AvailableSystemMemory]
  76. SystemMemory    = "" ? $(!LIBHANDLE) GetMemorySize
  77. MinSystemMemory = 2048
  78. [FSAndDiskSpace]
  79. VolumeList      = {} ? $(!LIBHANDLE) GetHardDriveLetters
  80. VolumeFreeList  = {} ? $(!LIBHANDLE) GetHardDriveFreeSpace
  81. VolumeFSList    = {} ? $(!LIBHANDLE) GetHardDriveFileSystems
  82. [VolList]
  83. VolumeFSList  = {} ? $(!LIBHANDLE) GetHardDriveFileSystems
  84. VolumeList    = {} ? $(!LIBHANDLE) GetHardDriveLetters
  85. [ExtensionIds]
  86. XCEL1ID = {"ID=1"}
  87. XCEL2ID = {"ID=2"}
  88. XCEL3ID = {"ID=3"}
  89. XCEL4ID = {"ID=4"}
  90. XCEL5ID = {"ID=5"}
  91. XCEL6ID = {"ID=6"}
  92. XCEL7ID = {"ID=7"}
  93. XCEL8ID = {"ID=8"}
  94. XCEL9ID = {"ID=9"}
  95. XCEL10ID = {"ID=10"}
  96. XCEL11ID = {"ID=11"}
  97. XCEL12ID = {"ID=12"}
  98. XCEL13ID = {"ID=13"}
  99. MSWD1ID = {"ID=14"}
  100. MSWD2ID = {"ID=15"}
  101. MSPJ1ID = {"ID=16"}
  102. MSPJ2ID = {"ID=17"}
  103. MSPJ3ID = {"ID=18"}
  104. MSPJ4ID = {"ID=19"}
  105. MSPJ5ID = {"ID=20"}
  106. ALD31ID = {"ID=21"}
  107. ALD32ID = {"ID=22"}
  108. ALD33ID = {"ID=23"}
  109. MOREID = {"ID=24"}
  110. FOX+ID = {"ID=25"}
  111. ALD41ID = {"ID=26"}
  112. ALD42ID = {"ID=27"}
  113. ALD43ID = {"ID=28"}
  114. ARTZID = {"ID=29"}
  115. SIT!ID = {"ID=30"}
  116. PPT2ID = {"ID=31"}
  117. PPT3ID = {"ID=32"}
  118. L123ID = {"ID=33"}
  119. LMANID = {"ID=34"}
  120. TTXTID = {"ID=35"}
  121. [Identify]
  122.    read-syms Identification
  123.    set Status     = STATUS_SUCCESSFUL
  124.    set Identifier = $(OptionType)
  125.    set Media      = #("Source Media Descriptions", 1, 1)
  126.    Return $(Status) $(Identifier) $(Media)
  127. [ReturnOptions]
  128.    set Status            = STATUS_FAILED
  129.    set OptionList         = {}
  130.    set OptionTextList     = {}
  131.    set LanguageList     = ^(LanguagesSupported, 1)
  132.    Ifcontains(i) $($0) in $(LanguageList)
  133.         goto returnoptions
  134.    else
  135.       set Status = STATUS_NOLANGUAGE
  136.       goto finish_ReturnOptions
  137.    endif
  138. returnoptions = +
  139.    set OptionList     = ^(Options, 1)
  140.    set OptionTextList = ^(OptionsText$($0), 1)
  141.    set Status         = STATUS_SUCCESSFUL
  142. finish_ReturnOptions = +
  143.    Return $(Status) $(OptionList) $(OptionTextList)
  144. [InstallOption]
  145.    set Status   = STATUS_FAILED
  146.    set Option   = $($1)
  147.    set SrcDir   = $($2)
  148.    Set AddCopy  = $($3)
  149.    Set DoCopy   = $($4)
  150.    Set DoConfig = $($5)
  151.    set LanguageList = ^(LanguagesSupported, 1)
  152.    Ifcontains(i) $($0) NOT-IN $(LanguageList)
  153.       return STATUS_NOLANGUAGE
  154.    EndIf
  155.    set-subst LF = "\n"
  156.    set-subst CR = "\r"
  157.    read-syms GeneralConstants
  158.    read-syms FileConstants
  159.    read-syms DialogConstants$(!STF_LANGUAGE)
  160.    read-syms FileConstants$(!STF_LANGUAGE)
  161.    detect date
  162.    set-title  $(FunctionTitle)
  163.    set CommonStatus = STATUS_SUCCESSFUL
  164.    Debug-Output "SFMSETUP: Install Mode = "$(!NTN_InstallMode)
  165.    Debug-Output "SFMSETUP: Origin = "$(!NTN_Origination)
  166.    Debug-Output "SFMSETUP: Phase = "$(!NTN_InstallPhase)
  167.    Debug-Output "SFMSETUP: Context INF = "$(!STF_CONTEXTINFNAME)
  168. Begin = +
  169.    Set REMOVE_SOFTWARE = {}
  170.    Set REMOVE_SERVICES = {}
  171.    IfStr(i) $(!NTN_InstallMode)    ==      deinstall
  172.       Set StartLabel = Removesfm
  173.       Set REMOVE_SOFTWARE = { $(ProductATALKName),+
  174.                               $(ProductAFPSVCName),+
  175.                               $(ProductMACPRINTName)+
  176.                             }
  177.       Set REMOVE_SERVICES = {$(ProductAFPSRVRName)}
  178.       LoadLibrary "x" $(!STF_CWDDIR)$(UtilDll) !UTILHANDLE
  179.    else-Ifstr(i) $(!NTN_InstallMode) == Update
  180.       set StartLabel = Upgradesfm
  181.    else-Ifstr(i) $(!NTN_InstallMode) == configure
  182.       set StartLabel = Configuresfm
  183.    else-Ifstr(i) $(!NTN_InstallMode) == bind
  184.       set StartLabel = Bindingssfm
  185.    else-Ifstr(i) $(!NTN_InstallMode) == install
  186.       set StartLabel = Installsfm
  187.    else
  188.        Set StartLabel = end
  189.    endif
  190.    goto $(StartLabel)
  191. Installsfm = +
  192.    Set FLibraryErrCtl = 1
  193.    OpenRegKey $(!REG_H_LOCAL) "" $(!ProductKeyName) $(!ACCESS) KeyProduct
  194.    Ifstr $(KeyProduct) != $(!KeyNull)
  195.       GetRegValue $(KeyProduct) $(MajorVersion) VersionInfo
  196.       set VersionMajor = *($(VersionInfo), 4)
  197.       GetRegValue $(KeyProduct) $(MinorVersion) VersionInfo
  198.       set VersionMinor = *($(VersionInfo), 4)
  199.       set InstalledVersion = $(VersionMajor)"."$(VersionMinor)
  200.       ifstr(i) $(ProductVersion) == $(InstalledVersion)
  201.          read-syms MiscErrorString1$(!STF_LANGUAGE)
  202.          Set Text = $(Version)$(ProductVersion)
  203.          Shell $(SubInf), SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(Text)$(ErrorString)
  204.          goto end
  205.       EndIf
  206.    EndIf
  207.    ifstr(i) $(!NTN_InstallMode) == "install"
  208.       Ifstr(i) $(!DoCopy) == "YES"
  209.          ifstr(i) $(!STF_IDW) != "TRUE"
  210.             Shell $(UtilInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  211.          endif
  212.          Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  213.             Goto ShellCodeError
  214.          Else-Ifstr(i) $($R0) == STATUS_FAILED
  215.             Shell $(UtilInf) RegistryErrorString "ASK_SOURCE_FAIL"
  216.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  217.                goto ShellCodeError
  218.             endif
  219.             set Error = $($R0)
  220.             Goto end
  221.          Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  222.             Goto end
  223.          Endif
  224.          Set SrcDir  = $($R1)
  225.       Endif
  226.    Endif
  227.    read-syms AvailableSystemMemory
  228.    detect AvailableSystemMemory
  229.    Ifint $(SystemMemory) < $(MinSystemMemory)
  230.       read-syms MiscErrorString2(!STF_LANGUAGE)
  231.       shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
  232.       goto end
  233.    EndIf
  234.    read-syms FSAndDiskSpace
  235.    detect FSAndDiskSpace
  236.    GetDriveInPath NtDrive $(!STF_WINDOWSSYSPATH)
  237.    Set NTFSVolExists = FALSE
  238.    Set !NTFSVolumeList = {}
  239.    ForListDo $(VolumeFSList)
  240.       Ifstr(i) $($) == "NTFS"
  241.          Set NTFSVolExists = TRUE
  242.          Set NTFSVolumeList = >($(NTFSVolumeList),*($(VolumeList),$(#)))
  243.       EndIf
  244.    EndForListDo
  245.    Ifstr(i) $(NTFSVolExists) == FALSE
  246.          Debug-Output "OEMNXPSM.INF:Install Phase = "$(!NTN_InstallPhase)
  247.          Ifstr(i) $(!NTN_InstallPhase) == primary
  248.          read-syms NTFSFormatHappening$(!STF_LANGUAGE)
  249.          Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  250.       Else
  251.          read-syms AFPString1$(!STF_LANGUAGE)
  252.          Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  253.       EndIf
  254.    EndIf
  255. readvollist = +
  256.    ForListDo $(VolumeList)
  257.       set CurrentVolume = *($(VolumeList), $(#))
  258.       set CurrentVolumeFree  = *($(VolumeFreeList), $(#))
  259.       Ifstr(i) $(CurrentVolume) == $(NtDrive)
  260.          Ifint $(CurrentVolumeFree) < $(RequiredSfmSize)
  261.             read-syms SetupSpaceDlg$(!STF_LANGUAGE)
  262.             ui start "SetupSpaceDlg"
  263.             Ifstr(i) $(DLGEVENT) == "RETRY"
  264.                read-syms FSAndDiskSpace
  265.                detect FSAndDiskSpace
  266.                goto readvollist
  267.             else
  268.                goto initialsetupcancel
  269.             EndIf
  270.          EndIf
  271.       EndIf
  272.    EndForListDo
  273. CopySfmFiles = +
  274.    ifstr(i) $(!STF_IDW) != TRUE
  275.       install "Install-Initial"
  276.       ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  277.          read-syms StatusRemoveSfm$(!STF_LANGUAGE)
  278.          Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
  279.          Shell "" RemoveSfmFiles "INSTALL"
  280.          Shell $(SubInf) PopBillBoard
  281.          goto usercancel
  282.       endif
  283.    EndIf
  284.    LoadLibrary "x" $(!STF_CWDDIR)$(UtilDll) !UTILHANDLE
  285.    Set Result = ""
  286.    Set FLibraryErrCtl = 1
  287. StartInstall = +
  288.    Set REMOVE_FLAG = TRUE
  289.    read-syms StatusInstallSfm$(!STF_LANGUAGE)
  290.    Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
  291.    StartWait
  292.    Set ThisOption = "SFM"
  293.    Shell $(UtilInf), InstallSoftwareProduct, $(Manufacturer),$(Product$(ThisOption)Name), $(ProductFullInfName)
  294.    ifint $(ShellCode) != 0
  295.       goto ShellCodeError
  296.    endif
  297.    set RegistryErrorIndex = $($R0)
  298.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  299.       CloseRegKey $($R1)
  300.       CloseRegKey $($R2)
  301.       goto fatalregistry
  302.    Endif
  303.    Set SfmProductKey       = $($R1)
  304.    Set SfmNetRuleKey       = $($R2)
  305.    set NewValueList = +
  306.                    {{Infname,0,$(!REG_VT_SZ),$(ProductFullInfName)},+
  307.                    {Title,0,$(!REG_VT_SZ), $(Product$(ThisOption)Title)},+
  308.                    {Description,$(NoTitle),$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
  309.                    {MajorVersion,0,$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  310.                    {MinorVersion,0,$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  311.                    {InstalledComponents,$(NoTitle),$(!REG_VT_MULTI_SZ),$(TobeInstalledList)},+
  312.                    {InstallDate,0,$(!REG_VT_DWORD),*($(Now),1)}}
  313.    Shell $(UtilInf), AddValueList, $(SfmProductKey), $(NewValueList)
  314.    ifint $(ShellCode) != 0
  315.       goto ShellCodeError
  316.    endif
  317.    set RegistryErrorIndex = $($R0)
  318.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  319.       CloseRegKey $(SfmProductKey)
  320.       CloseRegKey $(SfmNetRuleKey)
  321.       goto fatalregistry
  322.    endif
  323.    Set NewValueList = {{InfOption,$(NoTitle),$(!REG_VT_SZ),$(ThisOption)}, +
  324.                       {Infname,$(NoTitle),$(!REG_VT_SZ),$(ProductFullInfName)}}
  325.    Shell   $(UtilInf), AddValueList, $(SfmNetRuleKey), $(NewValueList)
  326.    ifint $(ShellCode) != 0
  327.        goto ShellCodeError
  328.    endif
  329.    set RegistryErrorIndex = $($R0)
  330.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  331.       CloseRegKey $(SfmProductKey)
  332.       CloseRegKey $(SfmNetRuleKey)
  333.       goto fatalregistry
  334.    Endif
  335.    CloseRegKey $(SfmProductKey)
  336.    CloseRegKey $(SfmNetRuleKey)
  337.    Set ThisOption = ATALK
  338.    Set REMOVE_SOFTWARE = >($(REMOVE_SOFTWARE), $(Product$(ThisOption)Name))
  339.    Set Atalk_DependList = {}
  340.    Set FLibraryErrCtl = 1
  341.    Shell $(UtilInf), AddSoftwareComponent,+
  342.                      $(Manufacturer), +
  343.                      $(Product$(ThisOption)Name),+
  344.                      $(Product$(ThisOption)Name), +
  345.                      $(Product$(ThisOption)DisplayName), +
  346.                      $(ProductFullInfName),+
  347.                      $(Product$(ThisOption)ImagePath),+
  348.                      "kernelautostart", "TDI",+
  349.                      $(Atalk_DependList), "",+
  350.                      $(Product$(ThisOption)EventDll)
  351.    Set FLibraryErrCtl = 0
  352.    Set RegistryErrorIndex = $($R0)
  353.    Ifstr(i) $(RegistryErrorIndex) !=  NO_ERROR
  354.       CloseRegKey $($R1)
  355.       CloseRegKey $($R2)
  356.       CloseRegKey $($R3)
  357.       CloseRegKey $($R4)
  358.       CloseRegKey $($R5)
  359.       goto fatalregistry
  360.    EndIf
  361.    Set AtkVersKey          = $($R1)
  362.    Set AtkNetRuleKey       = $($R2)
  363.    Set AtkSvcKey           = $($R3)
  364.    Set AtalkParameters = $($R4)
  365.    Set AtkLinkageKey       = $($R5)
  366.    set NewValueList = +
  367.          {{SoftwareType,0,$(!REG_VT_SZ),$(Product$(ThisOption)Type)},+
  368.          {Title,0,$(!REG_VT_SZ),$(Product$(ThisOption)Title)},+
  369.          {Description,0,$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
  370.          {PathName,0,$(!REG_VT_SZ),$(!STF_WINDOWSSYSPATH)},+
  371.          {ServiceName,0,$(!REG_VT_SZ),$(Product$(ThisOption)Name)},+
  372.          {Review,0,$(!REG_VT_DWORD),1},+
  373.          {Hidden,0,$(!REG_VT_DWORD),1},+
  374.          {InstallDate,0,$(!REG_VT_DWORD),*($(Now),1)}}
  375.    Shell  $(UtilInf), AddValueList, $(AtkVersKey), $(NewValueList)
  376.    set RegistryErrorIndex = $($R0)
  377.    Ifstr $(RegistryErrorIndex) != NO_ERROR
  378.       CloseRegKey $(AtkVersKey)
  379.       CloseRegKey $(AtkNetRuleKey)
  380.       CloseRegKey $(AtkSvcKey)
  381.       CloseRegKey $(AtkLinkageKey)
  382.       CloseRegKey $(AtalkParameters)
  383.       goto fatalregistry
  384.    EndIf
  385.    set NewValueList = +
  386.          {{type,0,$(!REG_VT_SZ),$(NetRule$(ThisOption)Type)}, +
  387.          {use,0,$(!REG_VT_SZ),$(NetRule$(ThisOption)Use)}, +
  388.          {bindform,0,$(!REG_VT_SZ),$(NetRule$(ThisOption)BindForm)}, +
  389.          {class,0, $(!REG_VT_MULTI_SZ),$(NetRule$(ThisOption)Class)}, +
  390.          {bindable,0, $(!REG_VT_MULTI_SZ), $(NetRule$(ThisOption)BindList)},+
  391.          {InfOption,0,$(!REG_VT_SZ),$(ThisOption)}, +
  392.          {Infname,0,$(!REG_VT_SZ),$(ProductFullInfName)} }
  393.    Shell  $(UtilInf), AddValueList, $(AtkNetRuleKey), $(NewValueList)
  394.    set RegistryErrorIndex = $($R0)
  395.    Ifstr $(RegistryErrorIndex) != NO_ERROR
  396.       CloseRegKey $(AtkVersKey)
  397.       CloseRegKey $(AtkNetRuleKey)
  398.       CloseRegKey $(AtkSvcKey)
  399.       CloseRegKey $(AtkLinkageKey)
  400.       CloseRegKey $(AtalkParameters)
  401.       goto fatalregistry
  402.    EndIf
  403.    set NewValueList = {{OtherDependencies,0,$(!REG_VT_MULTI_SZ),{"+NDIS"}}}
  404.    shell  $(UtilInf), AddValueList, $(AtkLinkageKey), $(NewValueList)
  405.    set RegistryErrorIndex = $($R0)
  406.    Ifstr $(RegistryErrorIndex) != NO_ERROR
  407.       CloseRegKey $(AtkVersKey)
  408.       CloseRegKey $(AtkNetRuleKey)
  409.       CloseRegKey $(AtkSvcKey)
  410.       CloseRegKey $(AtkLinkageKey)
  411.       CloseRegKey $(AtalkParameters)
  412.       goto fatalregistry
  413.    EndIf
  414.    CreateRegKey $(AtkSvcKey), {"Adapters",0,GenericClass},+
  415.                               "", $(!ACCESS), "" , KeyAdapters
  416.    Set DesiredZone = ""
  417.    set NewValueList = +
  418.          {{EnableRouter,0,$(!REG_VT_DWORD),0},+
  419.             {InitialInstall,0, $(!REG_VT_DWORD),1},+
  420.          {DesiredZone,0,$(!REG_VT_SZ),$(DesiredZone)}}
  421.    Shell  $(UtilInf), AddValueList, $(AtalkParameters), $(NewValueList)
  422.    set RegistryErrorIndex = $($R0)
  423.    Ifstr(i) $(RegistryErrorIndex) !=  NO_ERROR
  424.       CloseRegKey $(KeyAdapters)
  425.       goto fatalregistry
  426.    EndIf
  427.    Set WinAtalkDll = $(!STF_WINDOWSSYSPATH)"\"$(AtWinSockDll)
  428.    Set MaxSockAddrLen      = 8
  429.    Set MinSockAddrLen      = 6
  430.    Shell $(UtilInf) AddWinsockInfo     $(Product$(ThisOption)Name), +
  431.                                     $(WinAtalkDll), +
  432.                                     $(MaxSockAddrLen),+
  433.                                     $(MinSockAddrLen)
  434.    ifstr(i) $($R0) != NO_ERROR
  435.       read-syms AtalkString1$(!STF_LANGUAGE)
  436.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  437.    Endif
  438.    CloseRegKey $(AtkVersKey)
  439.    CloseRegKey $(AtkNetRuleKey)
  440.    CloseRegKey $(AtkSvcKey)
  441.    CloseRegKey $(AtkLinkageKey)
  442.    CloseRegKey $(AtalkParameters)
  443.    CloseRegKey $(KeyAdapters)
  444.    Set ThisOption = AFPSVC
  445.    Set REMOVE_SOFTWARE     =     >($(REMOVE_SOFTWARE), $(Product$(ThisOption)Name))
  446.    Set REMOVE_SERVICES  =     >($(REMOVE_SERVICES), $(ProductAFPSRVRName))
  447.    Set FLibraryErrCtl = 1
  448.    Shell $(UtilInf), AddSoftwareComponent, +
  449.                         $(Manufacturer), +
  450.                         $(Product$(ThisOption)Name),+
  451.                         $(Product$(ThisOption)Name), +
  452.                         $(Product$(ThisOption)DisplayName), +
  453.                         $(ProductFullInfName),+
  454.                         $(Product$(ThisOption)ImagePath),+
  455.                         "autoserviceshare", "",+
  456.                         {"AppleTalk","LanManWorkStation"}, "",+
  457.                         $(Product$(ThisOption)EventDll)
  458.    Set FLibraryErrCtl = 0
  459.    Ifint $(ShellCode) != 0
  460.       goto ShellCodeError
  461.    endif
  462.    set RegistryErrorIndex = $($R0)
  463.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  464.       CloseRegKey $($R1)
  465.       CloseRegKey $($R2)
  466.       CloseRegKey $($R3)
  467.       CloseRegKey $($R4)
  468.       CloseRegKey $($R5)
  469.       goto fatalregistry
  470.    endif
  471.    Set McProductKey  = $($R1)
  472.    Set McNetRuleKey  = $($R2)
  473.    Set McServiceKey  = $($R3)
  474.    set McParameters  = $($R4)
  475.    Set McLinkageKey  = $($R5)
  476.    set NewValueList = +
  477.          {{SoftwareType,0 ,$(!REG_VT_SZ),$(Product$(ThisOption)Type)},+
  478.          {Title,0,$(!REG_VT_SZ),$(Product$(ThisOption)Title)},+
  479.          {Description,0,$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
  480.          {PathName,0,$(!REG_VT_SZ),$(!STF_CWDDIR)},+
  481.          {ServiceName,0,$(!REG_VT_SZ),$(Product$(ThisOption)Name)},+
  482.          {Hidden,0,$(!REG_VT_DWORD),1},+
  483.          {InstallDate,0,$(!REG_VT_DWORD),*($(Now),1)}}
  484.    Shell   $(UtilInf),AddValueList,$(McProductKey),$(NewValueList)
  485.    ifint $(ShellCode) != 0
  486.       goto ShellCodeError
  487.    endif
  488.    set RegistryErrorIndex = $($R0)
  489.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  490.       CloseRegKey $(McProductKey)
  491.       CloseRegKey $(McNetRuleKey)
  492.       CloseRegKey $(McServiceKey)
  493.       CloseRegKey $(McParameters)
  494.       CloseRegKey $(McLinkageKey)
  495.       goto fatalregistry
  496.    Endif
  497.    set NewValueList = +
  498.          {{type,0,$(!REG_VT_SZ),$(NetRule$(ThisOption)Type)},+
  499.          {use,$(NoTitle),$(!REG_VT_SZ),$(NetRule$(ThisOption)Use)},+
  500.          {InfOption,$(NoTitle),$(!REG_VT_SZ),$(ThisOption)}, +
  501.          {Infname ,$(NoTitle),$(!REG_VT_SZ),$(ProductFullInfName)}}
  502.    Shell   $(UtilInf), AddValueList, $(McNetRuleKey), $(NewValueList)
  503.    ifint $(ShellCode) != 0
  504.       goto ShellCodeError
  505.    endif
  506.    set RegistryErrorIndex = $($R0)
  507.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  508.       CloseRegKey $(McProductKey)
  509.       CloseRegKey $(McNetRuleKey)
  510.       CloseRegKey $(McServiceKey)
  511.       CloseRegKey $(McParameters)
  512.       CloseRegKey $(McLinkageKey)
  513.       goto fatalregistry
  514.    endif
  515.    CreateRegKey $(McParameters)    {"Type_Creators",0,GenericClass} "" +
  516.                                 $(!ACCESS) "" KeyTypeCreator
  517.    CreateRegKey $(McParameters)    {"Extensions",0,GenericClass} "" +
  518.                                  $(!ACCESS) "" KeyExtensions
  519.    CreateRegKey $(McParameters) {"Icons",0,GenericClass} "" +
  520.                                  $(!ACCESS) "" KeyIcons
  521.    CreateRegKey $(McParameters) {"Volumes",$(NoTitle),GenericClass} "" +
  522.                                  $(!ACCESS) "" KeyVolumeList
  523.    Shell $(!STF_CWDDIR)$(IconsInfFile) ReadIconVariables
  524.    set NewValueList = +
  525.          {{LMANDEXE,0,$(!REG_VT_MULTI_SZ),$(!LMANDEXE)},+
  526.          {LMANTEXT,0, $(!REG_VT_MULTI_SZ),$(!LMANTEXT)},+
  527.          {SRVRSRVR,0, $(!REG_VT_MULTI_SZ),$(!SRVRSRVR)}}
  528.    Shell  $(UtilInf),AddValueList,$(KeyIcons),$(NewValueList)
  529.    ifint $(ShellCode) != 0
  530.       goto ShellCodeError
  531.    endif
  532.    set RegistryErrorIndex = $($R0)
  533.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  534.       CloseRegKey $(McProductKey)
  535.       CloseRegKey $(McNetRuleKey)
  536.       CloseRegKey $(McServiceKey)
  537.       CloseRegKey $(McParameters)
  538.       CloseRegKey $(McLinkageKey)
  539.       goto fatalregistry
  540.    endif
  541.    read-syms TCComments$(!STF_LANGUAGE)
  542.    Shell $(!STF_CWDDIR)$(TypeCreatorMapFile) ReadTypeCreatorMappings
  543.    Set NewValueList =  +
  544.          {{1,0,$(!REG_VT_MULTI_SZ),$(!XCEL1CREATOR)},+
  545.          {2,0,$(!REG_VT_MULTI_SZ),$(!XCEL2CREATOR)},+
  546.          {3,0,$(!REG_VT_MULTI_SZ),$(!XCEL3CREATOR)},+
  547.          {4,0,$(!REG_VT_MULTI_SZ),$(!XCEL4CREATOR)},+
  548.          {5,0,$(!REG_VT_MULTI_SZ),$(!XCEL5CREATOR)},+
  549.          {6,0,$(!REG_VT_MULTI_SZ),$(!XCEL6CREATOR)},+
  550.          {7,0,$(!REG_VT_MULTI_SZ),$(!XCEL7CREATOR)},+
  551.          {8,0,$(!REG_VT_MULTI_SZ),$(!XCEL8CREATOR)},+
  552.          {9,0,$(!REG_VT_MULTI_SZ),$(!XCEL9CREATOR)},+
  553.          {10,0,$(!REG_VT_MULTI_SZ),$(!XCEL10CREATOR)},+
  554.          {11,0,$(!REG_VT_MULTI_SZ),$(!XCEL11CREATOR)},+
  555.          {12,0,$(!REG_VT_MULTI_SZ),$(!XCEL12CREATOR)},+
  556.          {13,0,$(!REG_VT_MULTI_SZ),$(!XCEL13CREATOR)},+
  557.          {14,0,$(!REG_VT_MULTI_SZ),$(!MSWD1CREATOR)},+
  558.          {15,0,$(!REG_VT_MULTI_SZ),$(!MSWD2CREATOR)},+
  559.          {16,0,$(!REG_VT_MULTI_SZ),$(!MSPJ1CREATOR)},+
  560.          {17,0,$(!REG_VT_MULTI_SZ),$(!MSPJ2CREATOR)},+
  561.          {18,0,$(!REG_VT_MULTI_SZ),$(!MSPJ3CREATOR)},+
  562.          {19,0,$(!REG_VT_MULTI_SZ),$(!MSPJ4CREATOR)},+
  563.          {20,0,$(!REG_VT_MULTI_SZ),$(!MSPJ5CREATOR)},+
  564.          {21,0,$(!REG_VT_MULTI_SZ),$(!ALD31CREATOR)},+
  565.          {22,0,$(!REG_VT_MULTI_SZ),$(!ALD32CREATOR)},+
  566.          {23,0,$(!REG_VT_MULTI_SZ),$(!ALD33CREATOR)},+
  567.          {24,0,$(!REG_VT_MULTI_SZ),$(!MORECREATOR)},+
  568.          {25,0,$(!REG_VT_MULTI_SZ),$(!FOX+CREATOR)},+
  569.          {26,0,$(!REG_VT_MULTI_SZ),$(!ALD41CREATOR)},+
  570.          {27,0,$(!REG_VT_MULTI_SZ),$(!ALD42CREATOR)},+
  571.          {28,0,$(!REG_VT_MULTI_SZ),$(!ALD43CREATOR)},+
  572.          {29,0,$(!REG_VT_MULTI_SZ),$(!ARTZCREATOR)},+
  573.          {30,0,$(!REG_VT_MULTI_SZ),$(!SIT!CREATOR)},+
  574.          {31,0,$(!REG_VT_MULTI_SZ),$(!PPT2CREATOR)},+
  575.          {32,0,$(!REG_VT_MULTI_SZ),$(!PPT3CREATOR)},+
  576.          {33,0,$(!REG_VT_MULTI_SZ),$(!L123CREATOR)},+
  577.          {34,0,$(!REG_VT_MULTI_SZ),$(!LMANCREATOR)},+
  578.          {35,0,$(!REG_VT_MULTI_SZ),$(!TTXTCREATOR)}}
  579.    Shell  $(UtilInf),AddValueList,$(KeyTypeCreator),$(NewValueList)
  580.    ifint $(ShellCode) != 0
  581.       goto ShellCodeError
  582.    endif
  583.    set RegistryErrorIndex = $($R0)
  584.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  585.       CloseRegKey $(McProductKey)
  586.       CloseRegKey $(McNetRuleKey)
  587.       CloseRegKey $(McServiceKey)
  588.       CloseRegKey $(McParameters)
  589.       CloseRegKey $(McLinkageKey)
  590.       goto fatalregistry
  591.    endif
  592.    read-syms ExtensionIds
  593.    Set NewValueList =  +
  594.          {{XLC,0,$(!REG_VT_MULTI_SZ),$(XCEL1ID)},+
  595.          {XLS,0,$(!REG_VT_MULTI_SZ),$(XCEL2ID)},+
  596.          {XLM,0,$(!REG_VT_MULTI_SZ),$(XCEL3ID)},+
  597.          {XLW,0,$(!REG_VT_MULTI_SZ),$(XCEL4ID)},+
  598.          {XLA,0,$(!REG_VT_MULTI_SZ),$(XCEL5ID)},+
  599.          {XLT,0,$(!REG_VT_MULTI_SZ),$(XCEL6ID)},+
  600.          {SLK,0,$(!REG_VT_MULTI_SZ),$(XCEL7ID)},+
  601.          {WKS,0,$(!REG_VT_MULTI_SZ),$(XCEL8ID)},+
  602.          {WK1,0,$(!REG_VT_MULTI_SZ),$(XCEL9ID)},+
  603.          {CSV,0,$(!REG_VT_MULTI_SZ),$(XCEL10ID)},+
  604.          {DIF,0,$(!REG_VT_MULTI_SZ),$(XCEL11ID)},+
  605.          {DOC,0,$(!REG_VT_MULTI_SZ),$(MSWD1ID)},+
  606.          {WRD,0,$(!REG_VT_MULTI_SZ),$(MSWD2ID)},+
  607.          {RTF,0,$(!REG_VT_MULTI_SZ),$(MSWD2ID)},+
  608.          {STY,0,$(!REG_VT_MULTI_SZ),$(MSWD2ID)},+
  609.          {GLY,0,$(!REG_VT_MULTI_SZ),$(MSWD2ID)},+
  610.          {TXT,0,$(!REG_VT_MULTI_SZ),$(MSWD2ID)},+
  611.          {MPP,0,$(!REG_VT_MULTI_SZ),$(MSPJ1ID)},+
  612.          {MPX,0,$(!REG_VT_MULTI_SZ),$(MSPJ2ID)},+
  613.          {MPC,0,$(!REG_VT_MULTI_SZ),$(MSPJ3ID)},+
  614.          {MPV,0,$(!REG_VT_MULTI_SZ),$(MSPJ4ID)},+
  615.          {MPW,0,$(!REG_VT_MULTI_SZ),$(MSPJ5ID)},+
  616.          {PM4,0,$(!REG_VT_MULTI_SZ),$(ALD41ID)},+
  617.          {PT4,0,$(!REG_VT_MULTI_SZ),$(ALD42ID)},+
  618.          {TEM,0,$(!REG_VT_MULTI_SZ),$(ALD42ID)},+
  619.          {TPL,0,$(!REG_VT_MULTI_SZ),$(ALD42ID)},+
  620.          {TIF,0,$(!REG_VT_MULTI_SZ),$(ALD43ID)},+
  621.          {RDY,0,$(!REG_VT_MULTI_SZ),$(MOREID)},+
  622.          {DBF,0,$(!REG_VT_MULTI_SZ),$(FOX+ID)},+
  623.          {PUB,0,$(!REG_VT_MULTI_SZ),$(ALD31ID)},+
  624.          {EPS,0,$(!REG_VT_MULTI_SZ),$(ARTZID)},+
  625.          {SIT,0,$(!REG_VT_MULTI_SZ),$(SIT!ID)},+
  626.          {PPT,0,$(!REG_VT_MULTI_SZ),$(PPT3ID)},+
  627.          {WK3,0,$(!REG_VT_MULTI_SZ),$(L123ID)},+
  628.          {UAM,0,$(!REG_VT_MULTI_SZ),$(TTXTID)},+
  629.          {EXE,0,$(!REG_VT_MULTI_SZ),$(LMANID)},+
  630.          {DLL,0,$(!REG_VT_MULTI_SZ),$(LMANID)},+
  631.          {COM,0,$(!REG_VT_MULTI_SZ),$(LMANID)},+
  632.          {BAT,0,$(!REG_VT_MULTI_SZ),$(LMANID)},+
  633.          {CMD,0,$(!REG_VT_MULTI_SZ),$(LMANID)},+
  634.          {SYS,0,$(!REG_VT_MULTI_SZ),$(LMANID)}}
  635.    Shell  $(UtilInf),AddValueList,$(KeyExtensions),$(NewValueList)
  636.    ifint $(ShellCode) != 0
  637.       goto ShellCodeError
  638.    endif
  639.    set RegistryErrorIndex = $($R0)
  640.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  641.       CloseRegKey $(McProductKey)
  642.       CloseRegKey $(McNetRuleKey)
  643.       CloseRegKey $(McServiceKey)
  644.       CloseRegKey $(McParameters)
  645.       CloseRegKey $(McLinkageKey)
  646.       goto fatalregistry
  647.    endif
  648.    Ifstr(i) $(NTFSVolExists) == TRUE
  649.       Ifstr(i) $(!UamCopyStatus) == TRUE
  650.          Shell "" DoUAMInstall "INSTALL"
  651.          Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  652.             Goto ShellCodeError
  653.          EndIf
  654.       EndIf
  655.    EndIf
  656.    CloseRegKey $(McProductKey)
  657.    CloseRegKey $(McNetRuleKey)
  658.    CloseRegKey $(McServiceKey)
  659.    CloseRegKey $(McParameters)
  660.    CloseRegKey $(McLinkageKey)
  661.    CloseRegKey $(KeyTypeCreator)
  662.    CloseRegKey $(KeyExtensions)
  663.    CloseRegKey $(KeyIcons)
  664.    CloseRegKey $(KeyVolumeList)
  665.    Set Afp_DependList = {"+TDI"}
  666.    Set FLibraryErrCtl = 1
  667.    Shell $(UtilInf)  CreateService,+
  668.                      $(ProductAFPSRVRName),$(ProductAFPSRVRDisplayName),+
  669.                      $(ProductAFPSRVRImagePath),"system",+
  670.                      "Network", $(Afp_DependList),"",+
  671.                      $(ProductAFPSRVREventDll)
  672.    Set FLibraryErrCtl = 0
  673.    Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  674.       goto ShellCodeError
  675.    endif
  676.    set RegistryErrorIndex = $($R0)
  677.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  678.       goto fatalregistry
  679.    endif
  680.    CloseRegKey $($R1)
  681.    CloseRegKey $($R2)
  682.    CloseRegKey $($R3)
  683.    Set IniFile = $(!STF_NTPATH)"\"$(NtNetIniFileName)
  684.    Set IniString = $(!STF_WINDOWSSYSPATH)"\"$(AfpMgrCplFile)
  685.    Set IniSection = $(SrvMgrIniSection)
  686.    Set FLibraryErrCtl = 1
  687.    LibraryProcedure IniStatus $(!UTILHANDLE) WriteAfpMgrIniStrings, $(IniSection), $(IniString), $(IniFile)
  688.    Set FLibraryErrCtl = 0
  689.    ifstr(i) $(IniStatus) == "FAILED"
  690.       read-syms AFPString3$(!STF_LANGUAGE)
  691.       shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  692.    EndIf
  693.    Set IniFile = $(!STF_NTPATH)"\"$(WinFileIniFileName)
  694.    Set IniString = $(!STF_WINDOWSSYSPATH)"\"$(AfpMgrCplFile)
  695.    Set IniSection = $(WinFileIniSection)
  696.    Set FLibraryErrCtl = 1
  697.    LibraryProcedure IniStatus $(!UTILHANDLE) WriteAfpMgrIniStrings, $(IniSection), $(IniString), $(IniFile)
  698.    Set FLibraryErrCtl = 0
  699.    ifstr(i) $(IniStatus) == "FAILED"
  700.       read-syms AFPString2$(!STF_LANGUAGE)
  701.       shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  702.    EndIf
  703.    Set ThisOption = MACPRINT
  704.    Set REMOVE_SOFTWARE = >($(REMOVE_SOFTWARE), $(Product$(ThisOption)Name))
  705.    Set FLibraryErrCtl = 1
  706.    Shell $(UtilInf), AddSoftwareComponent, +
  707.                      $(Manufacturer), +
  708.                      $(Product$(ThisOption)Name), +
  709.                      $(Product$(ThisOption)Name),+
  710.                      $(Product$(ThisOption)DisplayName), +
  711.                      $(ProductFullInfName), +
  712.                      $(Product$(ThisOption)ImagePath),+
  713.                      "serviceauto", "", {"AppleTalk"},"",+
  714.                      $(Product$(ThisOption)EventDll) "", +
  715.                      "Application", ""
  716.    Set FLibraryErrCtl = 0
  717.    ifint $(ShellCode) != 0
  718.       goto ShellCodeError
  719.    EndIf
  720.    set RegistryErrorIndex = $($R0)
  721.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  722.       CloseRegKey $($R1)
  723.       CloseRegKey $($R2)
  724.       CloseRegKey $($R3)
  725.       CloseRegKey $($R4)
  726.       CloseRegKey $($R5)
  727.       goto fatalregistry
  728.    EndIf
  729.    Set MpProductKey    = $($R1)
  730.    Set MpNetRuleKey    = $($R2)
  731.    Set MpServiceKey    = $($R3)
  732.    Set MpParameters = $($R4)
  733.    Set MpLinkageKey = $($R5)
  734.    set NewValueList = +
  735.          {{SoftwareType,0,$(!REG_VT_SZ),$(Product$(ThisOption)Type)},+
  736.          {Title,0,$(!REG_VT_SZ),$(Product$(ThisOption)Title)},+
  737.          {Description,0,$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
  738.          {PathName,$(NoTitle),$(!REG_VT_SZ),$(!STF_CWDDIR)},+
  739.          {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(Product$(ThisOption)Name)},+
  740.          {Hidden,0,$(!REG_VT_DWORD),1},+
  741.          {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  742.    Shell $(UtilInf),AddValueList,$(MpProductKey),$(NewValueList)
  743.    ifint $(ShellCode) != 0
  744.       goto ShellCodeError
  745.    EndIf
  746.    set RegistryErrorIndex = $($R0)
  747.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  748.       CloseRegKey $(MpProductKey)
  749.       CloseRegKey $(MpNetRuleKey)
  750.       CloseRegKey $(MpServiceKey)
  751.       CloseRegKey $(MpParameters)
  752.       CloseRegKey $(MpLinkageKey)
  753.       goto fatalregistry
  754.    EndIf
  755.    set NewValueList = {{InfOption,0,$(!REG_VT_SZ),$(ThisOption)}, +
  756.                       {Infname,0,$(!REG_VT_SZ),$(ProductFullInfName)}}
  757.    Shell $(UtilInf), AddValueList, $(MpNetRuleKey), $(NewValueList)
  758.    ifint $(ShellCode) != 0
  759.       goto ShellCodeError
  760.    EndIf
  761.    set RegistryErrorIndex = $($R0)
  762.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  763.       CloseRegKey $(MpProductKey)
  764.       CloseRegKey $(MpNetRuleKey)
  765.       CloseRegKey $(MpParameters)
  766.       CloseRegKey $(MpLinkageKey)
  767.       CloseRegKey $(MpServiceKey)
  768.       goto fatalregistry
  769.    EndIf
  770.    set NewValueList = {{OtherDependencies,0, $(!REG_VT_MULTI_SZ), {"AppleTalk"}}}
  771.    Shell $(UtilInf), AddValueList $(MpLinkageKey), $(NewValueList)
  772.    ifint $(ShellCode) != 0
  773.       goto ShellCodeError
  774.    EndIf
  775.    set RegistryErrorIndex = $($R0)
  776.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  777.       CloseRegKey $(MpProductKey)
  778.       CloseRegKey $(MpNetRuleKey)
  779.       CloseRegKey $(MpParameters)
  780.       CloseRegKey $(MpLinkageKey)
  781.       CloseRegKey $(MpServiceKey)
  782.       goto fatalregistry
  783.    EndIf
  784.    CloseRegKey $(MpProductKey)
  785.    CloseRegKey $(MpNetRuleKey)
  786.    CloseRegKey $(MpParameters)
  787.    CloseRegKey $(MpLinkageKey)
  788.    CloseRegKey $(MpServiceKey)
  789.    Set MacPrintEventLogKey = $(!EventLogKey)"\"$(ThisOption)
  790.    OpenRegKey $(!REG_H_LOCAL) "" $(MacPrintEventLogKey) $(!ACCESS) MacEvntLogKey
  791.    ifstr(i) $(MacEvntLogKey) != $(!KeyNull)
  792.       Set EventFile = $(ProductMACPRINTEventDll)
  793.       Set NewValueList = +
  794.             {{CategoryMessageFile,0,$(!REG_VT_EXPAND_SZ),$(EventFile)}, +
  795.             {CategoryCount,0,$(!REG_VT_DWORD),5}}
  796.       Shell $(UtilInf) AddValueList, $(MacEvntLogKey), $(NewValueList)
  797.       ifint $(ShellCode) != 0
  798.          goto ShellCodeError
  799.       EndIf
  800.       set RegistryErrorIndex = $($R0)
  801.       CloseRegKey $(MacEvntLogKey)
  802.       Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  803.          goto fatalregistry
  804.       EndIf
  805.    Else
  806.       read-syms MacPrintString2$(!STF_LANGUAGE)
  807.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  808.    EndIf
  809.    Set AddMonStatus = ""
  810.    Set FLibraryErrCtl = 1
  811.    LibraryProcedure AddMonStatus $(!UTILHANDLE) SfmAddPrintMonitor $(!AtalkMonName)
  812.    Set FLibraryErrCtl = 0
  813.    ifstr(i) $(AddMonStatus) == "FAILED"
  814.       read-syms MacPrintString4$(!STF_LANGUAGE)
  815.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  816.    EndIf
  817.    OpenRegKey $(!REG_H_LOCAL) "" $(!EventLogKey) $(!ACCESS) EvntLogKey
  818.    ifstr(i) $(EvntLogKey) != $(!KeyNull)
  819.       CreateRegKey $(EvntLogKey) {$(!AtalkMonEventLogName),0,GenericClass} "" +
  820.                    $(!ACCESS) "" AtalkMonKey
  821.       Set EventFile = "%SystemRoot%\system32\sfmmon.dll"
  822.       Set NewValueList = +
  823.             {{CategoryMessageFile,0,$(!REG_VT_EXPAND_SZ),$(EventFile)},+
  824.             {EventMessageFile,0,$(!REG_VT_EXPAND_SZ),$(EventFile)},+
  825.             {CategoryCount,0,$(!REG_VT_DWORD),4},+
  826.             {TypesSupported,0,$(!REG_VT_DWORD),7}}
  827.       Shell $(UtilInf) AddValueList $(AtalkMonKey) $(NewValueList)
  828.       ifint $(ShellCode) != 0
  829.          goto ShellCodeError
  830.       EndIf
  831.       set RegistryErrorIndex = $($R0)
  832.       CloseRegKey $(AtalkMonKey)
  833.       CloseRegKey $(EvntLogKey)
  834.       Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  835.          goto fatalregistry
  836.       EndIf
  837.    Else
  838.       read-syms MacPrintString10$(!STF_LANGUAGE)
  839.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  840.    EndIf
  841.    Set PrintProcDir = ""
  842.    Set FLibraryErrCtl = 1
  843.    LibraryProcedure PrintProcDir $(!UTILHANDLE) GetPrintProcDir
  844.    Set FLibraryErrCtl = 0
  845.    ifstr(i) $(PrintProcDir) == "FAILED"
  846.       read-syms MacPrintString6$(!STF_LANGUAGE)
  847.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  848.       goto pstodibdone
  849.    Endif
  850.    Set !PrintProcDir = $(PrintProcDir)
  851.    ifstr(i) $(!STF_IDW) != TRUE
  852.       install "Install-PSPrint"
  853.    EndIf
  854.    Set FLibraryErrCtl = 1
  855.    LibraryProcedure Status $(!UTILHANDLE) AddPrintProc $(PSprintProcFile) $(PSprintProc)
  856.    Set FLibraryErrCtl = 0
  857.    ifstr(i) $(Status) != SUCCESS
  858.       read-syms MacPrintString3$(!STF_LANGUAGE)
  859.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  860.    EndIf
  861. pstodibdone = +
  862.     EndWait
  863.     FreeLibrary $(!UTILHANDLE)
  864.     Shell $(SubInf) PopBillBoard
  865.     goto successful
  866. Configuresfm = +
  867.    OpenRegKey $(!REG_H_LOCAL) "" $(!ProductKeyLinkage) $(!ACCESS) LinkageKey
  868.    ifstr(i) $(LinkageKey) != $(!KeyNull)
  869.       GetRegValue $(LinkageKey) "Bind" BindList
  870.       ifstr(i) $(BindList) == ""
  871.          read-syms AtalkString3$(!STF_LANGUAGE)
  872.          Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  873.          goto endconfigui
  874.       endif
  875.    else
  876.       Set RegistryErrorIndex = $($R0)
  877.       goto fatalregistry
  878.    EndIf
  879.    LoadLibrary "x" $(!STF_CWDDIR)sfmatcfg.dll ATHANDLE
  880.    Set FLibraryErrCtl = 1
  881.    Set atcfgresult = ""
  882.    LibraryProcedure atcfgresult, $(ATHANDLE),EnterAtalkConfigDLL $(!STF_HWND)
  883.    FreeLibrary $(ATHANDLE)
  884. endconfigui = +
  885.    Set CommonStatus = STATUS_USERCANCEL
  886.    goto usercancel
  887. Bindingssfm = +
  888.    Set DefaultPortRemoved = FALSE
  889.    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\AppleTalk\Linkage" $(!ACCESS) LinkageKey
  890.    Ifstr(i) $(LinkageKey) == $(!KeyNull)
  891.       Set RegistryErrorIndex = UNABLE_ACCESS_CONFIGURE_SERVICE
  892.       Goto fatalregistry
  893.    Endif
  894.    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\AppleTalk\Parameters" $(!ACCESS) BindParmKey
  895.    Ifstr(i) $(BindParmKey) == $(!KeyNull)
  896.       Set RegistryErrorIndex = UNABLE_ACCESS_CONFIGURE_SERVICE
  897.       Goto fatalregistry
  898.    Endif
  899.    Set BindList = {}
  900.    Set ExportList = {}
  901.    Set RouteList  = {}
  902.    GetRegValue $(LinkageKey) "Bind" BindList
  903.    GetRegValue $(LinkageKey) "Export" ExportList
  904.    GetRegValue $(LinkageKey) "Route" RouteList
  905.    GetRegValue $(LinkageKey) "Exclude" ExcludeList
  906.    QueryListSize BindCount $(BindList)
  907.    IfInt $(BindCount) == 0
  908.       Goto endbinding
  909.    Endif
  910.    set NewBindList = {}
  911.    set NewExportList = {}
  912.    set NewRouteList = {}
  913.    ForListDo *($(BindList),4)
  914.       Split-String $($), "\", BindInfo
  915.       set NewBindList = >($(NewBindList), *($(BindInfo),4))
  916.    EndForListDo
  917.    ForListDo *($(ExportList),4)
  918.       set NewExportList = >($(NewExportList), $($))
  919.    EndForListDo
  920.    ForListDo *($(RouteList),4)
  921.       set NewRouteList = >($(NewRouteList), $($))
  922.    EndForListDo
  923.    ForListDo *($(ExcludeList),4)
  924.       set NewExcludeList = >($(NewExcludeList), $($))
  925.    EndForListDo
  926.    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\AppleTalk\Adapters" $(!ACCESS) AdapterKey
  927.    Ifstr(i) $(AdapterKey) == $(!KeyNull)
  928.       Set RegistryErrorIndex = UNABLE_ACCESS_CONFIGURE_SERVICE
  929.       Goto fatalregistry
  930.    Endif
  931.    set AdapterList = ""
  932.    EnumRegKey $(AdapterKey) AdapterList
  933.    Set AtalkAdapterList = {}
  934.    ForListDo $(AdapterList)
  935.       Set AtalkAdapterList = >($(AtalkAdapterList), *($($),1))
  936.    EndForListDo
  937.    QueryListSize AdapterCount $(AtalkAdapterList)
  938.    Set fAddingFirstAdapter = FALSE
  939.    ifint $(AdapterCount) == 0
  940.          Set fAddingFirstAdapter = TRUE
  941.    EndIf
  942.    Set NewBindings = ""
  943.    Set TobeUsedBindList = {}
  944.    Set TobeUsedExportList = {}
  945.    Set TobeUsedRouteList = {}
  946.    ForListDo $(NewBindList)
  947.       IfContains(i) $($) not-in $(AtalkAdapterList)
  948.          Set NewBindings = TRUE
  949.          Set TobeUsedBindList = >($(TobeUsedBindList),"\Device\"$($))
  950.          Set TobeUsedExportList = >($(TobeUsedExportList),*($(NewExportList),$(#)))
  951.          Set TobeUsedRouteList = >($(TobeUsedRouteList),*($(NewRouteList),$(#)))
  952.          Shell "" CreateAtalkConfig $($) $(AdapterKey)
  953.          Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  954.             CloseRegKey $(AdapterKey)
  955.             Set RegistryErrorIndex = $($R1)
  956.             goto fatalregistry
  957.          EndIf
  958.       Else
  959.          Set TobeUsedBindList = >($(TobeUsedBindList),"\Device\"$($))
  960.          Set TobeUsedExportList = >($(TobeUsedExportList),*($(NewExportList),$(#)))
  961.          Set TobeUsedRouteList = >($(TobeUsedRouteList),*($(NewRouteList),$(#)))
  962.      Endif
  963.    EndForListDo
  964.    set NewValueList = {{Bind,0,$(!REG_VT_MULTI_SZ),$(TobeUsedBindList)}, +
  965.                       {Export,0,$(!REG_VT_MULTI_SZ),$(TobeUsedExportList)}, +
  966.                       {Route,0,$(!REG_VT_MULTI_SZ),$(TobeUsedRouteList)}}
  967.    Ifstr(i) $(NewBindings) == TRUE
  968.       Shell  $(UtilInf), AddValueList, $(LinkageKey), $(NewValueList)
  969.       set RegistryErrorIndex = $($R0)
  970.       CloseRegKey $(LinkageKey)
  971.       Ifstr(i) $(RegistryErrorIndex) !=  NO_ERROR
  972.          goto fatalregistry
  973.       EndIf
  974.    EndIf
  975.    Set DefaultPort = {}
  976.    Set MediaTypeList = {}
  977.    GetRegValue $(BindParmKey) "DefaultPort" DefaultPort
  978.    Ifstr(i) $(DefaultPort) != {}
  979.       goto removeadapters
  980.    EndIf
  981. finddefaultport = +
  982.    ForListDo $(TobeUsedBindList)
  983.       Split-String $($) "\" PortName
  984.       Shell "" FindMediaType *($(PortName),4)
  985.       Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  986.          Set MediaTypeList = >($(MediaTypeList), $($R1))
  987.       EndIf
  988.    EndForListDo
  989.    Ifcontains(i) "1" in $(MediaTypeList)
  990.       ForListDo $(MediaTypeList)
  991.          Ifint $($) == 1
  992.             Set DefaultPort = *($(TobeUsedBindList),$(#))
  993.             goto defportdone
  994.          EndIf
  995.       EndForListDo
  996.    else-ifcontains(i) "4" in $(MediaTypeList)
  997.       ForListDo $(MediaTypeList)
  998.          Ifint $($) == 4
  999.             Set DefaultPort = *($(TobeUsedBindList),$(#))
  1000.             goto defportdone
  1001.          EndIf
  1002.       EndForListDo
  1003.    else-ifcontains(i) "2" in $(MediaTypeList)
  1004.       ForListDo $(MediaTypeList)
  1005.          Ifint $($) == 2
  1006.             Set DefaultPort = *($(TobeUsedBindList),$(#))
  1007.             goto defportdone
  1008.          EndIf
  1009.       EndForListDo
  1010.    else-ifcontains(i) "5" in $(MediaTypeList)
  1011.       Set DefaultPort = *($(TobeUsedBindList),1)
  1012.    else
  1013.       read-syms NoAdaptersFound$(!STF_LANGUAGE)
  1014.       Shell $(SubInf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(ErrorString)
  1015.       Set DefaultPort = ""
  1016.       Set NewValueList = {{DefaultPort,0,$(!REG_VT_SZ),$(DefaultPort)}}
  1017.       Shell  $(UtilInf), AddValueList, $(BindParmKey), $(NewValueList)
  1018.       set RegistryErrorIndex = $($R0)
  1019.       Ifstr(i) $(RegistryErrorIndex) !=  NO_ERROR
  1020.          goto fatalregistry
  1021.       EndIf
  1022.       goto endbinding
  1023.    Endif
  1024. defportdone = +
  1025.    Set NewValueList = {{DefaultPort,0,$(!REG_VT_SZ),$(DefaultPort)}}
  1026.    Shell  $(UtilInf), AddValueList, $(BindParmKey), $(NewValueList)
  1027.    set RegistryErrorIndex = $($R0)
  1028.    Ifstr(i) $(RegistryErrorIndex) !=  NO_ERROR
  1029.       goto fatalregistry
  1030.    EndIf
  1031.    goto startconfig
  1032. removeadapters = +
  1033.    Split-String *($(DefaultPort),4) "\" PortName
  1034.    ForListDo $(AtalkAdapterList)
  1035.       Ifcontains(i) $($) not-in $(NewBindList)
  1036.          DeleteRegKey $(AdapterKey) $($)
  1037.          Ifstr(i) $($) == *($(PortName),4)
  1038.             read-syms RemoveDefaultPort$(!STF_LANGUAGE)
  1039.             Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
  1040.             Set DefaultPortRemoved = TRUE
  1041.             goto finddefaultport
  1042.         Endif
  1043.       EndIf
  1044.    EndForListDo
  1045. startconfig = +
  1046.    Set DoConfig = 0
  1047.    GetRegValue $(BindParmKey) "InitialInstall" DoConfig
  1048.    Set IsInitialInstall = *($(DoConfig),4)
  1049.    Debug-Output "Config State = "$(DoConfig)
  1050.    ifint $(IsInitialInstall) == 1
  1051.          goto startsvc
  1052.    EndIf
  1053.    ifstr(i) $(DefaultPortRemoved) == TRUE
  1054.          goto startsvc
  1055.    endif
  1056.    ifstr(i) $(fAddingFirstAdapter) == TRUE
  1057.          goto startsvc
  1058.    endif
  1059.    goto endbinding
  1060. startsvc = +
  1061.    Set FLibraryErrCtl = 1
  1062.    read-syms StatusStartingAppleTalk$(!STF_LANGUAGE)
  1063.    Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
  1064.    StartWait
  1065.    Set WaitStarted = 1
  1066.    LibraryProcedure START_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), STARTSVC, AppleTalk
  1067.    Shell $(SubInf) PopBillBoard
  1068.    Set START_STATUS = *($(START_RESULT),1)
  1069.    Debug-Output "OEMNXPSM.INF: Start AppleTalk; result was: "$(START_STATUS)
  1070.    Ifint $(START_STATUS) != 0
  1071.       EndWait
  1072.       Set WaitStarted = 0
  1073.       LibraryProcedure START_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), ERRORMSG, $(START_STATUS)
  1074.       Set ATALK_ERROR_MESSAGE = *($(START_RESULT),2)
  1075.       read-syms CannotStartAtalk$(!STF_LANGUAGE)
  1076.       Set ErrorString  = $(ATALK_ERROR_MESSAGE)$(ErrorSuffix)
  1077.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
  1078.    Else
  1079.       LibraryProcedure START_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), STARTSVC, Afd
  1080.       Set START_STATUS = *($(START_RESULT),1)
  1081.       Debug-Output "OEMNXPSM.INF: Start Afd result was: "$(START_STATUS)
  1082.       Ifint $(START_STATUS) != 0
  1083.          EndWait
  1084.          Set WaitStarted = 0
  1085.          LibraryProcedure START_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), ERRORMSG, $(START_STATUS)
  1086.          Set ATALK_ERROR_MESSAGE = *($(START_RESULT),2)
  1087.          read-syms CannotStartAfd$(!STF_LANGUAGE)
  1088.          Set ErrorString  = $(ATALK_ERROR_MESSAGE)$(ErrorSuffix)
  1089.          Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
  1090.          goto endbinding
  1091.       EndIf
  1092.       LoadLibrary "x" $(!STF_CWDDIR)sfmatcfg.dll ATHANDLE
  1093.       Set FLibraryErrCtl = 1
  1094.       Set atcfgresult = ""
  1095.       LibraryProcedure atcfgresult, $(ATHANDLE),EnterAtalkConfigDLL $(!STF_HWND)
  1096.       FreeLibrary $(ATHANDLE)
  1097.       SetRegValue $(BindParmKey) {InitialInstall,0,$(!REG_VT_DWORD),0}
  1098.       ifint $(IsInitialInstall) == 1
  1099.          read-syms SetupSuccess$(!STF_LANGUAGE)
  1100.          Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "STATUS" $(Status)
  1101.       EndIf
  1102.       EndWait
  1103.    EndIf
  1104. endbinding = +
  1105.    CloseRegKey $(BindParmKey)
  1106.    goto end
  1107. Removesfm = +
  1108.    Set FLibraryErrCtl  = 1
  1109.    Ifcontains(i) "MacFile" in $(REMOVE_SOFTWARE)
  1110.       Set IniFile = $(!STF_NTPATH)"\"$(NtNetIniFileName)
  1111.       Set IniSection = $(SrvMgrIniSection)
  1112.       Set Result = ""
  1113.       Set FLibraryErrCtl = 1
  1114.       LibraryProcedure Result, $(!UTILHANDLE), WriteAfpMgrIniStrings, $(IniSection), NULL, $(IniFile)
  1115.       Set FLibraryErrCtl = 0
  1116.       ifstr(i) $(Result) == "FAILED"
  1117.       endif
  1118.       Set IniFile = $(!STF_NTPATH)"\"$(WinFileIniFileName)
  1119.       Set IniSection = $(WinFileIniSection)
  1120.       Set FLibraryErrCtl = 1
  1121.       LibraryProcedure Result, $(!UTILHANDLE), WriteAfpMgrIniStrings, $(IniSection), NULL, $(IniFile)
  1122.       Set FLibraryErrCtl = 0
  1123.    EndIf
  1124.    ifstr(i) $(!STF_IDW) != TRUE
  1125.       read-syms StatusRemoveSfm$(!STF_LANGUAGE)
  1126.       Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
  1127.       Shell "" RemoveSfmFiles "REMOVE"
  1128.       Shell $(SubInf)  PopBillBoard
  1129.    EndIf
  1130.    OpenRegKey $(!REG_H_LOCAL) "" $(!ProductKeyBase) $(!ACCESS) ProductKey
  1131.    Ifstr $(ProductKey) == $(!KeyNull)
  1132.       set RegistryErrorIndex = UNABLE_ACCESS_CONFIGURE_SERVICE
  1133.       goto fatalregistry
  1134.    endif
  1135.    DeleteRegTree $(ProductKey) $(ProductSFMName)
  1136.    CloseRegKey $(ProductKey)
  1137.    ForListDo  $(REMOVE_SOFTWARE)
  1138.        debug-output "Removing component: "$($)
  1139.        Shell $(UtilInf), RemoveSoftwareComponent, $(Manufacturer), $($)
  1140.    EndForListDo
  1141.    ForListDo  $(REMOVE_SERVICES)
  1142.        debug-output "Removing component service: "$($)
  1143.        Shell $(UtilInf), RemoveService, $($), "YES"
  1144.    EndForListDo
  1145.    Ifcontains(i) "MACPRINT" in $(REMOVE_SOFTWARE)
  1146.       Set DelMonStatus = ""
  1147.       Set FLibraryErrCtl = 1
  1148.       LibraryProcedure DelMonStatus $(!UTILHANDLE) SfmDeletePrintMonitor $(!AtalkMonName)
  1149.       Set FLibraryErrCtl = 0
  1150.       ifstr(i) $(DelMonStatus) == "FAILED"
  1151.          read-syms MacPrintString7$(!STF_LANGUAGE)
  1152.          Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1153.       EndIf
  1154.       OpenRegKey $(!REG_H_LOCAL) "" $(!EventLogKey) $(!ACCESS) LogKey
  1155.       Ifstr(i) $(LogKey) == $(!KeyNull)
  1156.          Set RegistryErrorIndex = $($R0)
  1157.          goto fatalregistry
  1158.       EndIf
  1159.       Set AtalkMonKey = $(!AtalkMonEventLogName)    
  1160.       DeleteRegTree $(LogKey) $(AtalkMonKey)
  1161.       Set MacPrintKey = "MACPRINT"
  1162.       DeleteRegTree $(LogKey) $(MacPrintKey)
  1163.       CloseRegKey $(!EventLogKey)
  1164.       Set DelStatus = ""
  1165.       Set FLibraryErrCtl = 1
  1166.       LibraryProcedure DelStatus $(!UTILHANDLE) DeletePrintProc "\\"$(!STF_COMPUTERNAME) SFMPSPRT
  1167.       Set FLibraryErrCtl = 0
  1168.       Ifstr(i) $(DelStatus) == FAILED
  1169.          read-syms MacPrintString5$(!STF_LANGUAGE)
  1170.          Shell $(SubInf) SetupMessage "NONFATAL" $(ErrorString)
  1171.       EndIf
  1172.    EndIf
  1173.    Ifcontains(i) "AppleTalk" in $(REMOVE_SOFTWARE)
  1174.       Shell $(UtilInf) UpdateWinsockService "AppleTalk" FALSE
  1175.    EndIf
  1176.    Ifstr(i) $($R0) != NO_ERROR
  1177.       read-syms AtalkString2$(!STF_LANGUAGE)
  1178.       Shell $(SubInf) SetupMessage "NONFATAL" $(ErrorString)
  1179.    EndIf
  1180.    FreeLibrary $(!UTILHANDLE)
  1181.    Set FLibraryErrCtl = 1
  1182.    ifstr(i) $(!STF_IDW) != TRUE
  1183.        LibraryProcedure Status, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)$(UtilDll)
  1184.    EndIf
  1185.    Set FLibraryErrCtl = 0
  1186.    goto end
  1187. Upgradesfm = +
  1188.    ifstr(i) $(!ProductKeyName) == $(!NTN_RegBase)
  1189.       OpenRegKey $(!REG_H_LOCAL) "" $(!ProductKeyName) $(!ACCESS) KeyProduct
  1190.       Ifstr $(KeyProduct) != $(!KeyNull)
  1191.          GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
  1192.          set Version = *($(VersionInfo), 4)
  1193.          Split-String $(!NTN_Infname), "\", FilenameList
  1194.          QueryListSize ListSize $(FilenameList)
  1195.          set !UG_Filename = *($(FilenameList), $(ListSize))
  1196.          install Install-Update
  1197.          ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  1198.             goto fatal
  1199.          endif
  1200.          LoadLibrary "x" $(!STF_CWDDIR)$(UtilDll) !UTILHANDLE
  1201.          Shell "" DoUamInstall "INSTALL"
  1202.          FreeLibrary $(!UTILHANDLE)
  1203.          Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1204.             Goto ShellCodeError
  1205.          EndIf
  1206.          SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  1207.          SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  1208.          CloseRegKey $(KeyProduct)
  1209.       else
  1210.          Set RegistryErrorIndex = $($R0)
  1211.          goto fatalregistry
  1212.       endif
  1213.    endif
  1214.    goto end
  1215. successful = +
  1216.     Set Status = STATUS_SUCCESSFUL
  1217.     goto end
  1218. fatalregistry = +
  1219.    EndWait
  1220.    Shell $(UtilInf) RegistryErrorString $(RegistryErrorIndex)
  1221.    IfInt $(ShellCode) != 0
  1222.       goto ShellCodeError
  1223.    Endif
  1224.    set Error = $($R0)
  1225.    goto fatal
  1226. fatal = +
  1227.    Ifint $(BillboardVisible) != 0
  1228.       Shell $(SubInf) PopBillboard
  1229.       Set BillboardVisible = 0
  1230.    Endif
  1231.    read-syms MiscErrorString3$(!STF_LANGUAGE)
  1232.    Shell $(SubInf) SetupMessage, $(!STF_LANGUAGE), "FATAL",$(ErrorString)$(Error)
  1233.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1234.       goto ShellCodeError
  1235.    endif
  1236.    goto failed
  1237. ShellCodeError = +
  1238.    read-syms ShellingError$(!STF_LANGUAGE)
  1239.    Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
  1240. failed = +
  1241.    set CommonStatus = STATUS_FAILED
  1242.    ifstr(i) $(REMOVE_FLAG) == TRUE
  1243.       set REMOVE_FLAG = FALSE
  1244.       goto Removesfm
  1245.    endif
  1246.    goto end
  1247. initialsetupcancel = +
  1248.    Set CommonStatus = STATUS_USERCANCEL
  1249.    goto end
  1250. usercancel = +
  1251.    Set CommonStatus = STATUS_USERCANCEL
  1252. end = +
  1253.    Return $(CommonStatus)
  1254. [FindMediaType]
  1255.    Set Status = STATUS_FAILED
  1256.    Set CardName = $(!NTN_ServiceBase)"\"$($0)"\Parameters"
  1257.    OpenRegKey $(!REG_H_LOCAL) "" $(CardName) $(!ACCESS) CardKey
  1258.    Ifstr(i) $(CardKey) == $(!KeyNull)
  1259.       Set RegistryErrorIndex = $($R0)
  1260.       Return $(Status) $(RegistryErrorIndex)
  1261.    EndIf
  1262.    GetRegValue $(CardKey) "MediaType" MediaTypeList
  1263.    Set MediaType = *($(MediaTypeList),4)
  1264.    Set Status = STATUS_SUCCESSFUL
  1265.    Return $(Status) $(MediaType)
  1266. [CreateAtalkConfig]
  1267.    Set AdapterName         = $($0)
  1268.    Set KeyAdapters         = $($1)
  1269.    Set RetStatus    = STATUS_SUCCESSFUL
  1270.    read-syms GeneralConstants
  1271.    CreateRegKey $(KeyAdapters) {$(AdapterName), 0, GenericClass} "" $(!ACCESS) "", TempKeyAdapters
  1272.    Shell "" FindMediaType $($0)
  1273.    Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  1274.       Set MediaType = $($R1)
  1275.    else
  1276.       Set RegistryErrorIndex = $($R1)
  1277.       Set RetStatus = $($R0)
  1278.       goto return
  1279.    EndIf
  1280.    set PortName            = $($0)"@"$(!STF_COMPUTERNAME)
  1281.    set ZoneList            = {""}
  1282.    set AarpRetries         = 10
  1283.    set DefaultZone         = ""
  1284.    set NewValueList = +
  1285.             {{"AarpRetries",0,$(!REG_VT_DWORD),$(AarpRetries)}, +
  1286.             {"DefaultZone", 0,$(!REG_VT_SZ),$(DefaultZone)},+
  1287.             {"NetworkRangeUpperEnd",0,$(!REG_VT_DWORD),0 },+
  1288.             {"NetworkRangeLowerEnd",0,$(!REG_VT_DWORD),0 },+
  1289.             {"ZoneList",0,$(!REG_VT_MULTI_SZ),$(ZoneList)},+
  1290.             {"SeedingNetwork", 0,$(!REG_VT_DWORD),0},+
  1291.             {"DdpCheckSums", 0,$(!REG_VT_DWORD),0},+
  1292.             {"PortName",0,$(!REG_VT_SZ),$(PortName)}}
  1293.    Shell  $(UtilInf),AddValueList, $(TempKeyAdapters), $(NewValueList)
  1294.    set RegistryErrorIndex = $($R0)
  1295.    Ifstr $(RegistryErrorIndex) != NO_ERROR
  1296.       CloseRegKey $(TmpKeyAdapters)
  1297.       Set RetStatus = STATUS_FAILED
  1298.    EndIf
  1299. return = +
  1300.    Return $(RetStatus) $(RegistryErrorIndex)
  1301. [DoUAMInstall]
  1302.    Set Status      = STATUS_FAILED
  1303.    Set Mode        = $($0)
  1304.    read-syms DialogConstants$(!STF_LANGUAGE)
  1305.    read-syms VolList
  1306.    detect    VolList
  1307.    Set NTFSVolumeList = {}
  1308.    ForListDo $(VolumeFSList)
  1309.       Ifstr(i) $($) == "NTFS"
  1310.          Set NTFSExists = TRUE
  1311.          Set NTFSVolumeList = >($(NTFSVolumeList),*($(VolumeList),$(#)))
  1312.       EndIf
  1313.    EndForListDo
  1314.    Ifstr(i) $(NTFSExists) != TRUE
  1315.       read-syms AFPString12$(!STF_LAMGUAGE)
  1316.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1317.       goto enduam
  1318.    EndIf
  1319.    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\MacFile\Parameters\Volumes" $(!ACCESS) KeyVol
  1320.    ifstr(i) $(KeyVol) == $(!KeyNull)
  1321.       read-syms AFPString11$(!STF_LAMGUAGE)
  1322.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1323.       goto enduam
  1324.    endif
  1325.    Ifstr(i) $(Mode) == "INSTALL"
  1326.       Set UAMDrive = *($(NTFSVolumeList),1)
  1327.       read-syms UAMVars$(!STF_LANGUAGE)
  1328.    EndIf
  1329.    install "CreateUAMDir"
  1330.    Set Result = ""
  1331.    Set FLibraryErrCtl = 1
  1332.    LibraryProcedure Result, $(!UTILHANDLE), CopyUamFiles, +
  1333.                     $(!STF_CWDDIR)$(!UamResSrcFile), +
  1334.                     $(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamResDestFile)
  1335.    Set FLibraryErrCtl = 0
  1336.    ifstr(i) $(Result) == "FAILED"
  1337.       read-syms UamFileNotCopied1$(!STF_LANGUAGE)
  1338.       Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1339.       Set Status = STATUS_USERCANCEL
  1340.       goto enduam
  1341.    EndIf
  1342.    Set Result = ""
  1343.    Set FLibraryErrCtl = 1
  1344.    LibraryProcedure    Result,$(!UTILHANDLE), CopyUamFiles, +
  1345.                      $(!STF_CWDDIR)$(!UamInfoSrcFile), +
  1346.                      $(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamInfoDestFile)
  1347.    Set FLibraryErrCtl = 0
  1348.    ifstr(i) $(Result) == "FAILED"
  1349.       read-syms UamFileNotCopied1$(!STF_LANGUAGE)
  1350.       Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1351.       Set Status = STATUS_USERCANCEL
  1352.       goto enduam
  1353.    EndIf
  1354.    Set Result = ""
  1355.    Set FLibraryErrCtl = 1
  1356.    LibraryProcedure Result, $(!UTILHANDLE),CopyUamFiles,+
  1357.                     $(!STF_CWDDIR)$(!UamReadMeSrcFile), +
  1358.                     $(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamReadMeDestFile)
  1359.    Set FLibraryErrCtl = 0
  1360.    ifstr(i) $(Result) == "FAILED"
  1361.       read-syms UamFileNotCopied1$(!STF_LANGUAGE)
  1362.       Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1363.       Set Status = STATUS_USERCANCEL
  1364.       goto enduam
  1365.    EndIf
  1366.    Set VolProperties = {"MAXUSES=100", "PROPERTIES=32769","PASSWORD="}
  1367.    Set VolProperties = >($(VolProperties),"PATH="$(UAMPath))
  1368.    set NewValueList = +
  1369.          {{$(!UAMVolumeName),0, $(!REG_VT_MULTI_SZ),$(VolProperties)}}
  1370.    Shell "utility.inf" AddValueList $(KeyVol) $(NewValueList)
  1371.    set RegistryErrorIndex = $($R0)
  1372.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1373.       CloseRegKey $(KeyVol)
  1374.       Set Status = STATUS_FAILED
  1375.       goto enduam
  1376.    EndIf
  1377.    Set Result = ""
  1378.    Set FLibraryErrCtl = 1
  1379.    LibraryProcedure Result, $(!UTILHANDLE),SfmSetUamSecurity $(UAMPath)
  1380.    Set FLibraryErrCtl = 0
  1381.    ifstr(i) $(Result) == "FAILED"
  1382.       read-syms UamSecurityNotSet$(!STF_LANGUAGE)
  1383.       Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1384.    endif
  1385.    Set Status = STATUS_SUCCESSFUL
  1386. enduam = +
  1387.    Return $(Status) $(RegistryErrorIndex)
  1388. [RemoveSfmFiles]
  1389.    Set Status = STATUS_SUCCESSFUL
  1390.    Set Mode = $($0)
  1391.    Set RemoveList = {}
  1392.    Set DelOnRebootList = {}
  1393.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATALKSYS, 1))
  1394.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATALKMSG, 1))
  1395.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATCONFIG, 1))
  1396.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATWINSOCK, 1))
  1397.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPSVCEXE, 1))
  1398.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPSVCMSG, 1))
  1399.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPSRVR, 1))
  1400.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPSVCAPI, 1))
  1401.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPSVCMGR, 1))
  1402.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, PSTODIB1, 1))
  1403.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, PSTODIB2, 1))
  1404.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, PSTODIB3, 1))
  1405.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, PSTODIB4, 1))
  1406.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, MACPRINT, 1))
  1407.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATALKMON, 1))
  1408.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPICONS, 1))
  1409.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPTYPECRTR, 1))
  1410.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, UAMRES, 1))
  1411.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, UAMINF, 1))
  1412.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, UAMTXT, 1))
  1413.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, SFMRES, 1))
  1414.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, SFMHELP, 1))
  1415.    ForListDo $(RemoveList)
  1416.       Set DelStatus = ""
  1417.       Debug-Output "Deleting File "$($)
  1418.       Set FLibraryErrCtl = 1
  1419.       Ifstr(i) $(Mode) == "REMOVE"
  1420.          LibraryProcedure DelStatus $(!UTILHANDLE), DelFile $($)
  1421.          ifstr(i) $(DelStatus) == "FAILED"
  1422.             Set DelOnRebootList = >($(DelOnRebootList), $($))
  1423.          EndIf
  1424.       else
  1425.          LibraryProcedure DelStatus $(!LIBHANDLE), DelFile $($)
  1426.       EndIf
  1427.       Set FLibraryErrCtl = 0
  1428.    EndForListDo
  1429.    ForListDo $(DelOnRebootList)
  1430.       Ifstr(i) $(Mode) == "REMOVE"
  1431.          Debug-Output "File to remove on reboot = "$($)
  1432.          AddFileToDeleteList $($)
  1433.       else
  1434.          Set FLibraryErrCtl  = 1
  1435.          LibraryProcedure DelStatus $(!LIBHANDLE), DelFile $($)
  1436.          Set FLibraryErrCtl  = 0
  1437.       EndIf
  1438.    EndForListDo
  1439.    Return $(Status)
  1440. [Install-PSPrint]
  1441.    AddSectionFilesToCopyList Files-PRINTPROC $(!STF_CWDDIR) $(!PrintProcDir)
  1442.    CopyFilesInCopyList
  1443.    Exit
  1444. [CreateUAMDir]
  1445.    CreateDir $(UAMPath)
  1446.    CreateDir $(UAMPath)"\"$(!AppleShareFolder)
  1447.    Exit
  1448. [Install-Update]
  1449.    set STF_VITAL = ""
  1450.    AddSectionFilesToCopyList Files-SFM $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1451.    AddSectionFilesToCopyList Files-SFMDrivers $(SrcDir) $(!STF_WINDOWSSYSPATH)"\drivers"
  1452.    AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1453.    AddSectionFilesToCopyList Files-UAM $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1454.    CopyFilesInCopyList
  1455.    Exit
  1456. [Install-Initial]
  1457.    set STF_VITAL = ""
  1458.    AddSectionFilesToCopyList Files-SFM $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1459.    AddSectionFilesToCopyList Files-SFMDrivers $(SrcDir) $(!STF_WINDOWSSYSPATH)"\drivers"
  1460.    AddSectionFilesToCopyList Files-UAM $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1461.    CopyFilesInCopyList
  1462.    Exit
  1463. [Files-RemoveList]
  1464. ATALKSYS        = $(!STF_WINDOWSSYSPATH)\drivers\sfmatalk.sys
  1465. ATALKMSG        = $(!STF_WINDOWSSYSPATH)\sfmatmsg.dll
  1466. ATCONFIG        = $(!STF_WINDOWSSYSPATH)\sfmatcfg.dll
  1467. ATWINSOCK       = $(!STF_WINDOWSSYSPATH)\sfmwshat.dll
  1468. AFPSVCEXE       = $(!STF_WINDOWSSYSPATH)\sfmsvc.exe
  1469. AFPSVCMSG       = $(!STF_WINDOWSSYSPATH)\sfmmsg.dll
  1470. AFPSVCAPI       = $(!STF_WINDOWSSYSPATH)\sfmapi.dll
  1471. AFPSVCMGR       = $(!STF_WINDOWSSYSPATH)\sfmmgr.cpl
  1472. AFPSRVR         = $(!STF_WINDOWSSYSPATH)\drivers\sfmsrv.sys
  1473. AFPICONS        = $(!STF_WINDOWSSYSPATH)\sfmicons.inf
  1474. AFPTYPECRTR     = $(!STF_WINDOWSSYSPATH)\sfmmap.inf
  1475. UAMINF          = $(!STF_WINDOWSSYSPATH)\sfmuam.ifo
  1476. UAMRES          = $(!STF_WINDOWSSYSPATH)\sfmuam.rsc
  1477. UAMTXT          = $(!STF_WINDOWSSYSPATH)\sfmuam.txt
  1478. MACPRINT        = $(!STF_WINDOWSSYSPATH)\sfmprint.exe
  1479. ATALKMON        = $(!STF_WINDOWSSYSPATH)\sfmmon.dll
  1480. PSTODIB1        = $(!STF_WINDOWSSYSPATH)\sfmpsexe.exe
  1481. PSTODIB2        = $(!STF_WINDOWSSYSPATH)\sfmpsfnt.dll
  1482. PSTODIB3        = $(!STF_WINDOWSSYSPATH)\sfmpsprt.dll
  1483. PSTODIB4        = $(!STF_WINDOWSSYSPATH)\sfmpsdib.dll
  1484. SFMHELP            = $(!STF_WINDOWSSYSPATH)\sfmmgr.hlp
  1485. SFMRES            = $(!STF_WINDOWSSYSPATH)\sfmres.dll
  1486. [UamGetLanguage]
  1487.    STF_LANGUAGE = "" ? $(!LIBHANDLE) GetLanguage
  1488. [UAMINSTALL]
  1489.    LoadLibrary "x" $(!STF_CWDDIR)setupdll.dll !LIBHANDLE
  1490.    read-syms UamGetLanguage
  1491.    detect UamGetLanguage
  1492.    read-syms GeneralConstants
  1493.    read-syms FileConstants
  1494.    read-syms FileConstants$(STF_LANGUAGE)
  1495.    Debug-Output "UAMINSTALL: Language = "$(STF_LANGUAGE)
  1496.    read-syms FSAndDiskSpace
  1497.    detect FSAndDiskSpace
  1498.    Set NTFSVolExists = FALSE
  1499.    Set NTFSVolumeList = {}
  1500.    ForListDo $(VolumeFSList)
  1501.       Ifstr(i) $($) == "NTFS"
  1502.          Set NTFSVolExists = TRUE
  1503.          Set NTFSVolumeList = >($(NTFSVolumeList),*($(VolumeList),$(#)))
  1504.       EndIf
  1505.    EndForListDo
  1506.    Ifstr(i) $(NTFSVolExists) == FALSE
  1507.       read-syms UamFileNotCopied1$(STF_LANGUAGE)
  1508.       Shell $(SubInf) SetupMessage $(STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1509.       goto uaminstalldone
  1510.    EndIf
  1511.    LoadLibrary "y" $(!STF_CWDDIR)sfmutil.dll !UTILHANDLE
  1512.    Set !NTN_ServiceBase = "SYSTEM\CurrentControlSet\Services"
  1513.    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\MacFile\Parameters\Volumes" $(!ACCESS) KeyVol
  1514.    ifstr(i) $(KeyVol) == $(!KeyNull)
  1515.       read-syms AFPString11$(!STF_LANGUAGE)
  1516.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1517.       goto uaminstalldone
  1518.    endif
  1519.    Set UAMDrive = *($(NTFSVolumeList),1)
  1520.    read-syms UAMVars$(!STF_LANGUAGE)
  1521.    install "CreateUAMDir"
  1522.    Set Result = ""
  1523.    Set FLibraryErrCtl = 1
  1524.    LibraryProcedure Result,+
  1525.                      $(!UTILHANDLE), +
  1526.                      CopyUamFiles, +
  1527.                      $(!STF_CWDDIR)$(!UamResSrcFile), +
  1528.                      $(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamResDestFile)
  1529.    Set FLibraryErrCtl = 0
  1530.    ifstr(i) $(Result) == "FAILED"
  1531.       read-syms UamFileNotCopied1$(!STF_LANGUAGE)
  1532.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1533.       goto uaminstalldone
  1534.    EndIf
  1535.    Set Result = ""
  1536.    Set FLibraryErrCtl = 1
  1537.    LibraryProcedure Result,+
  1538.                      $(!UTILHANDLE),+
  1539.                      CopyUamFiles, +
  1540.                      $(!STF_CWDDIR)$(!UamInfoSrcFile) +
  1541.                      $(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamInfoDestFile)
  1542.    Set FLibraryErrCtl = 0
  1543.    ifstr(i) $(Result) == "FAILED"
  1544.       read-syms UamFileNotCopied1$(!STF_LANGUAGE)
  1545.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1546.       goto uaminstalldone
  1547.    EndIf
  1548.    Set Result = ""
  1549.    Set FLibraryErrCtl = 1
  1550.    LibraryProcedure Result, +
  1551.                      $(!UTILHANDLE), +
  1552.                      CopyUamFiles, +
  1553.                      $(!STF_CWDDIR)$(!UamReadMeSrcFile) +
  1554.                      $(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamReadMeDestFile)
  1555.    Set FLibraryErrCtl = 0
  1556.    ifstr(i) $(Result) == "FAILED"
  1557.       read-syms UamFileNotCopied1$(!STF_LANGUAGE)
  1558.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1559.       goto uaminstalldone
  1560.    EndIf
  1561.    Set VolProperties = {"MAXUSES=100", "PROPERTIES=32769","PASSWORD="}
  1562.    Set VolProperties = >($(VolProperties),"PATH="$(UAMPath))
  1563.    set NewValueList = +
  1564.             {{$(!UAMVolumeName), 0, $(!REG_VT_MULTI_SZ),$(VolProperties)}}
  1565.    Shell $(UtilInf) AddValueList $(KeyVol) $(NewValueList)
  1566.    set RegistryErrorIndex = $($R0)
  1567.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1568.        CloseRegKey $(KeyVol)
  1569.    EndIf
  1570.    Set Result = ""
  1571.    Set FLibraryErrCtl = 1
  1572.    LibraryProcedure Result, $(!UTILHANDLE),SfmSetUamSecurity $(UAMPath)
  1573.    Set FLibraryErrCtl = 0
  1574.    ifstr(i) $(Result) == "FAILED"
  1575.       read-syms UamSecurityNotSet$(!STF_LANGUAGE)
  1576.       Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1577.   endif
  1578. uaminstalldone = +
  1579.    FreeLibrary $(!LIBHANDLE)
  1580.    FreeLibrary $(!UTILHANDLE)
  1581.    exit
  1582. [Source Media Descriptions]
  1583.     1  = "Windows NT Advanced Server Setup Disk #1"    , TAGFILE = disk1
  1584.     2  = "Windows NT Advanced Server Setup CD-ROM Disk"    , TAGFILE = disk2
  1585. [ProductType]
  1586. STF_PRODUCT  = LanmanNT
  1587. STF_PLATFORM = I386
  1588. [Files-Inf]
  1589. 2,    oemsetup.inf,     SIZE=1000,    RENAME=$(!UG_Filename)
  1590. [Files-PRINTPROC]
  1591. 2,SFMPSPRT.DLL , SIZE=999
  1592. [Files-SFM]
  1593. 2,SFMAPI.DLL , SIZE=999
  1594. 2,SFMATCFG.DLL , SIZE=999
  1595. 2,SFMATMSG.DLL , SIZE=999
  1596. 2,SFMMGR.CPL , SIZE=999
  1597. 2,SFMMON.DLL , SIZE=999
  1598. 2,SFMMSG.DLL , SIZE=999
  1599. 2,SFMPSDIB.DLL , SIZE=999
  1600. 2,SFMPSFNT.DLL , SIZE=999
  1601. 2,SFMPSPRT.DLL , SIZE=999
  1602. 2,SFMRES.DLL , SIZE=999
  1603. 2,SFMUTIL.DLL , SIZE=999
  1604. 2,SFMWSHAT.DLL , SIZE=999
  1605. 2,SFMPRINT.EXE , SIZE=999
  1606. 2,SFMPSEXE.EXE , SIZE=999
  1607. 2,SFMSVC.EXE , SIZE=999
  1608. 2,SFMMGR.HLP , SIZE=999
  1609. 2,SFMICONS.INF , SIZE=999
  1610. 2,SFMMAP.INF , SIZE=999
  1611. 2,SFMUAM.TXT , SIZE=999
  1612. [Files-SFMDrivers]
  1613. 2,SFMATALK.SYS , SIZE=999
  1614. 2,SFMSRV.SYS , SIZE=999
  1615. [Files-UAM]
  1616. 2,SFMUAM.IFO , SIZE=999
  1617. 2,SFMUAM.RSC , SIZE=999
  1618. [LanguagesSupported]
  1619. ENG
  1620. [OptionsTextENG]
  1621. SFM      = "Services for Macintosh"
  1622. [FileConstantsENG]
  1623. FunctionTitle                   =  "Services for Macintosh Setup"
  1624. ProductATALKDescription         =  "AppleTalk Transport"
  1625. ProductAFPSVCDescription        =  "AppleTalk File Server"
  1626. ProductMACPRINTDescription      =  "AppleTalk Print Server"
  1627. ProductSFMDescription           =  "Macintosh->Windows NT Connectivity"
  1628. ProCaption      = $(FunctionTitle)
  1629. ProCancel       = "Cancel"
  1630. ProCancelMsg    = "Services for Macintosh is not correctly installed. "+
  1631.                   "Are you sure you want to cancel copying files ?"
  1632. ProCancelCap    = "Services for Macintosh Setup"
  1633. ProText1        = "Copying:"
  1634. ProText2        = "To:"
  1635. Error           = "User has cancelled copying files. Copied files will be removed."
  1636. MajorVersion    = "MajorVersion"
  1637. MinorVersion    = "MinorVersion"
  1638. Version            =  "Version "
  1639. AskLocationText = "Please enter the full path of the Services for "+
  1640.                   "Macintosh distribution files.  If you want to install "+
  1641.                   "files from the original Setup floppy disks, type a drive "+
  1642.                   "letter (such as A:) and Setup will prompt you for the correct "+
  1643.                   "disk.  Then choose continue."
  1644. ProductSFMTitle                 = "Services for Macintosh"
  1645. ProductATALKDisplayName         = "AppleTalk Protocol"
  1646. ProductATALKTitle               = "Services for Macintosh"
  1647. ProductAFPSVCDisplayName        = "File Server for Macintosh"
  1648. ProductAFPSVCTitle              = "Services for Macintosh"
  1649. ProductAFPSRVRDisplayName       = "SFM Kernel Driver"
  1650. ProductMACPRINTDisplayName      = "Print Server for Macintosh"
  1651. ProductMACPRINTTitle            = "Services for Macintosh"
  1652. !UAMVolumeName                  = "Microsoft UAM Volume"
  1653. !AtalkMonName                    = "AppleTalk Printing Devices"
  1654. !AppleShareFolder                = "AppleShare Folder"
  1655. !UamReadMeDestFile               = "ReadMe.UAM"
  1656. [DialogConstantsENG]
  1657. Help        = "&Help"
  1658. Exit        = "E&xit Setup"
  1659. OK          = "OK"
  1660. HelpContext = ""
  1661. Continue    = "Continue"
  1662. Cancel      = "Cancel"
  1663. [UAMVarsENG]
  1664. UAMDirName     =       "Microsoft UAM Volume"
  1665. UAMPath        =       $(UAMDrive)"\"$(UAMDirName)
  1666. [TCCommentsENG]
  1667. !XCEL1COMMENT   = "Comment=MS Excel 3.0 Chart"
  1668. !XCEL2COMMENT   = "Comment=MS Excel 3.0 Spreadsheet"
  1669. !XCEL3COMMENT   = "Comment=MS Excel 3.0 Macrosheet"
  1670. !XCEL4COMMENT   = "Comment=MS Excel 3.0 Workspace"
  1671. !XCEL5COMMENT   = "Comment=MS Excel 3.0 Add-in MacroFile"
  1672. !XCEL6COMMENT   = "Comment=MS Excel 3.0 Template File"
  1673. !XCEL7COMMENT   = "Comment=MS Excel 3.0"
  1674. !XCEL8COMMENT   = "Comment=MS Excel 4.0 Chart"
  1675. !XCEL9COMMENT   = "Comment=MS Excel 4.0 Spreadsheet"
  1676. !XCEL10COMMENT    = "Comment=MS Excel 4.0 Macrosheet"
  1677. !XCEL11COMMENT    = "Comment=MS Excel 4.0 WorkSpace"
  1678. !XCEL12COMMENT  = "Comment=MS Excel 4.0 Add-in MacroFile"
  1679. !XCEL13COMMENT  = "Comment=MS Excel 4.0 Template File"
  1680. !MSWD1COMMENT   = "Comment=MS Word 5.1 Document"
  1681. !MSWD2COMMENT   = "Comment=MS Word 5.1 Document"
  1682. !MSPJ1COMMENT   = "Comment=MS Project 3.0"
  1683. !MSPJ2COMMENT   = "Comment=MS Project 3.0 Exchange File"
  1684. !MSPJ3COMMENT   = "Comment=MS Project 3.0"
  1685. !MSPJ4COMMENT   = "Comment=MS Project 3.0 Calendars"
  1686. !MSPJ5COMMENT   = "Comment=MS Project 3.0 Views"
  1687. !MSPJ6COMMENT   = "Comment=MS Project 3.0 WorkSpaces"
  1688. !ALD31COMMENT   = "Comment=Pagemaker 3.0  Publication"
  1689. !ALD32COMMENT   = "Comment=Pagemaker 3.0 Template"
  1690. !ALD33COMMENT   = "Comment=Pagemaker 3.0 Tiff Graphics"
  1691. !ALD41COMMENT   = "Comment=Pagemaker 4.0 Publication"
  1692. !ALD42COMMENT   = "Comment=Pagemaker 4.0 Template"
  1693. !ALD43COMMENT   = "Comment=Pagemaker 4.0 Tiff Graphics"
  1694. !MORECOMMENT    = "Comment=Symantec More File"
  1695. !FOX+COMMENT    = "Comment=FoxBase Plus"
  1696. !ARTZCOMMENT    = "Comment=Adobe Illustrator"
  1697. !SIT!COMMENT    = "Comment=Aladdin Stuffit"
  1698. !PPT2COMMENT    = "Comment=MS PowerPoint 2.0"
  1699. !PPT3COMMENT    = "Comment=MS PowerPoint 3.0"
  1700. !L123COMMENT    = "Comment=Lotus 1-2-3"
  1701. !LMANCOMMENT    = "Comment=LMAN Executables"
  1702. !TTXTCOMMENT    = "Comment=Teach Text Document"
  1703. [SetupSpaceDlgENG]
  1704. STF_MB_TEXT = +
  1705. "Setup could not find enough space on your Windows NT Advanced Server system partition. "+
  1706. "Setup requires at least 2 MB for installing Services for Macintosh. "+
  1707. "You can retry installation after freeing up disk space on your system partition."
  1708. DlgType         = "MessageBox"
  1709. STF_MB_TYPE     = 5
  1710. STF_MB_ICON     = 3
  1711. STF_MB_DEF      = 3
  1712. STF_MB_TITLE    = $(FunctionTitle)
  1713. [ExitWarningDlgENG]
  1714. STF_MB_TITLE    = "Services for Macintosh Setup"
  1715. STF_MB_TEXT     = "Services for Macintosh is not correctly installed. Are you "+
  1716.                   "sure you want to exit Setup?"
  1717. DlgType         = "MessageBox"
  1718. STF_MB_TYPE     = 3
  1719. STF_MB_ICON     = 5
  1720. STF_MB_DEF      = 2
  1721. [MiscErrorString1ENG]
  1722. ErrorString = +
  1723. " of Services for Macintosh is already installed on your system. "+
  1724. "Use [Update] to update to newer versions."
  1725. [MiscErrorString2ENG]
  1726. ErrorString = +
  1727. "Sufficient memory is not available on your system to run  "+
  1728. "Services for Macintosh. Services for Macintosh requires "+
  1729. "a minimum of 8 MB to function."
  1730. [MiscErrorString3ENG]
  1731. ErrorString = +
  1732. "Setup encountered the following error during installation. Try installing "+
  1733. "Services for Macintosh after rebooting your system. "$(LF)
  1734. [ShellingErrorENG]
  1735. ErrorString  = +
  1736. "An internal error occurred. Contact Technical Support."
  1737. [NTFSFormatHappeningENG]
  1738. ErrorString = +
  1739. "Setup could not find any NTFS partitions in your system. You could be "+
  1740. "reformatting or converting your existing NTFS partition. The Microsoft UAM "+
  1741. "volume cannot be installed at this time. Setup will proceed with installation. "+
  1742. "Use the command SETUP /i OEMNXPSM.INF /c UAMINSTALL to install the UAM volume "+
  1743. "after Advanced Server installation."
  1744. [UamFileNotCopiedENG]
  1745. ErrorString  = +
  1746. "Setup cannot copy Microsoft user authentication files to the Microsoft UAM "+
  1747. "volume. Macintosh workstations will be unable to download these files. There "+
  1748. "may not be enough disk space on your NTFS partition or the UAM files might be "+
  1749. "missing from your Windows NT Advanced Server distribution disks. Refer to your Administrator's guide "+
  1750. "on how to create this volume after installation."
  1751. [UamFileNotCopied1ENG]
  1752. ErrorString  = +
  1753. "Setup cannot copy Microsoft user authentication files to the Microsoft UAM "+
  1754. "volume. Macintosh workstations will be unable to download these files. There "+
  1755. "may not be enough disk space on your NTFS partition or the UAM files might be "+
  1756. "missing from your Windows NT Advanced Server distribution disks. Refer to your Administrator's guide "+
  1757. "on how to create this volume after installation."
  1758. [UamSecurityNotSetENG]
  1759. ErrorString = +
  1760. "Setup cannot set the default security settings for the UAM volume. "+
  1761. "Security for the UAM volume can also be set from the User Manager "+
  1762. "after installation."
  1763. [CannotStartAtalkENG]
  1764. ErrorSuffix = +
  1765. "Setup was unable to start the AppleTalk Protocol. You will be unable to choose "+
  1766. "a desired zone at this time."
  1767. [CannotStartAfdENG]
  1768. ErrorSuffix = +
  1769. "Setup was unable to start the AFD Driver. You will be unable to choose "+
  1770. "a desired zone at this time."
  1771. [StatusInstallSfmENG]
  1772. Status = "Installing Services for Macintosh..."
  1773. [StatusRemoveSfmENG]
  1774. Status = "Removing Services for Macintosh files..."
  1775. [StatusStartingAppleTalkENG]
  1776. Status = "Starting AppleTalk Protocol..."
  1777. [AtalkString1ENG]
  1778. ErrorString  = +
  1779. "Setup cannot add Windows sockets support for the AppleTalk protocol. "+
  1780. "Windows sockets applications will be unable to use the AppleTalk Protocol. "+
  1781. "Remove Services for Macintosh after installation and re-install. If the problem "+
  1782. "persists, contact Microsoft support."
  1783. [AtalkString2ENG]
  1784. ErrorString  = +
  1785. "Setup cannot remove Windows Sockets support for the AppleTalk protocol."
  1786. [AtalkString3ENG]
  1787. ErrorString  = +
  1788. "Services for Macintosh has just been installed. Services will be "+
  1789. "available to Macintosh workstations in the default network. If you would like "+
  1790. "the services to appear in a different zone or to configure routing, close "+
  1791. "the Control Panel, reboot, start AppleTalk and use the Control Panel "+
  1792. "to configure Services for Macintosh."
  1793. [AFPString1ENG]
  1794. ErrorString = +
  1795. "Setup cannot find an NTFS partition on your system. "+
  1796. "Services for Macintosh requires an NTFS partition for "+
  1797. "Macintosh workstations to share files. You can create "+
  1798. "the NTFS partition after installing Services for Macintosh. "+
  1799. "To format a partition to NTFS, use the command, format [drive] /fs:NTFS. "+
  1800. "Setup will proceed with installation."
  1801. [AFPString2ENG]
  1802. ErrorString = +
  1803. "Setup cannot add the Macintosh File Server to the File Manager. "+
  1804. "You will be unable to work with Macintosh accessible volumes from "+
  1805. "File Manager."
  1806. [AFPString3ENG]
  1807. ErrorString  = +
  1808. "Setup cannot add the Macintosh File Server to the Server Manager. "+
  1809. "You will be unable to work with Services for Macintosh servers from "+
  1810. "Server Manager."
  1811. [AFPString11ENG]
  1812. ErrorString  = +
  1813. "Setup can not find the volumes key in the MacFile section in registry. "+
  1814. "The UAM volume cannot be built."
  1815. [AFPString12ENG]
  1816. ErrorString  = +
  1817. "Setup can not find any NTFS volumes in your system. The UAM volume can not be installed."
  1818. [MacPrintString2ENG]
  1819. ErrorString = +
  1820. "Setup cannot create the eventlog entries for the Print Server for Macintosh. "+
  1821. "You will be unable to use the event viewer to see the log for Print Server "+
  1822. "for Macintosh."
  1823. [MacPrintString3ENG]
  1824. ErrorString = +
  1825. "Setup cannot add the print processor for the Print Server for Macintosh. "+
  1826. "Macintosh workstations will be unable to print postscript jobs to a "+
  1827. "non-postscript printer on the Advanced Server network."
  1828. [MacPrintString4ENG]
  1829. ErrorString = +
  1830. "Setup cannot add the print monitor for the Print Server for Macintosh. "+
  1831. "Macintosh workstations will be unable to use print services on this "+
  1832. "Advanced Server."
  1833. [MacPrintString5ENG]
  1834. ErrorString = +
  1835. "Setup cannot remove the print processor for the Print Server for Macintosh."
  1836. [MacPrintString6ENG]
  1837. ErrorString = +
  1838. "Setup can not find the directory to install the Macintosh print processor. "+
  1839. "The Macintosh print processor will not be installed."
  1840. [MacPrintString7ENG]
  1841. ErrorString = +
  1842. "Setup cannot remove the monitor for the Print Server for Macintosh."
  1843. [MacPrintString10ENG]
  1844. ErrorString = +
  1845. "Setup cannot create the eventlog entries for the Print Server for Macintosh monitor. "+
  1846. "You will be unable to use the event viewer to see the log for Print Server "+
  1847. "for Macintosh."
  1848. [NoAdaptersFoundENG]
  1849. ErrorString = +
  1850. "Setup cannot find any network adapter for Services for Macintosh. You will "+
  1851. "be unable to use Services for Macintosh. Try adding a network adapter or "+
  1852. "enable the bindings for AppleTalk Protocol."
  1853. [RemoveDefaultPortENG]
  1854. ErrorString  = +
  1855. "Setup has detected that the default network adapter used by Services "+
  1856. "for Macintosh has been removed. Setup will change the default network, if "+
  1857. "one is available. This may cause Macintosh workstations to no longer "+
  1858. "see Services for Macintosh on their current zone."
  1859. [SetupSuccessENG]
  1860. Status  = +
  1861. "Services for Macintosh installation is complete. "+
  1862. "Services will start automatically when you reboot. "+
  1863. "Services will be available to Macintosh workstations "+
  1864. "in the network and zone that you have chosen. "
  1865.  
  1866.  
  1867.  
  1868.